webForumDet fria alternativet

Menyuppbyggnad

5 svar · 662 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Vilket är bästa sättet att bygga upp en meny,
om man vill kunna kalla på den via t.ex <? print $meny ?> på varje sida?

Har just nu menyn i en databas, som ser ut såhär:
ID | NAMN | LINK

Där NAMN är vad jag vill det skall skrivas ut ..
Så min kod blir alltså såhär i HTML
<a href="link">namn</a>

Vad är bästa sättet att bygga det?
Jag vill definiera variabeln $meny i inc_functions.php där jag har mina funktioner.
Något tips?

UrMeMedlem sedan apr. 2001762 inlägg
#2

Kan du inte bara skapa en funktion som sätter ihop html-koden av menyn.

function createMenu() {
massa kod för att hämta datan från mysql
$menu .= '<ul>';
foreach($result as $row) {
$menu .= '<li><a href="'.$link.'">'.$row['namn'].'</a></li>';
}
$menu .= '</ul>';

return $menu;

}

$myMenu = $createMenu();
echo $myMenu;

Var det något sådant du tänkte?

SoulGodMedlem sedan aug. 20051 200 inlägg
#3

Koden blev såhär nu:

function createMenu() {
	$query_menu = "SELECT * FROM menu ORDER BY sortid";
	$rows = mysql_query($query_menu);

	while ($row = mysql_fetch_array($rows)) {
	printf("<a href=$row[link]>$row[namn]</a>");
	printf("&nbsp;<img src='img/star.gif'>&nbsp;");
} }

Nu återstår 2 frågor...
1. När SISTA menyn är lagd ( alltså den sista i databasen ), så skall inte det visas någon star.gif .. hur gör jag det?

2. Jag vill automatiskt generera all $row till stora tecken .. hur? ( hittade strtoupper men lyckas ej få den att funka )

whzfredMedlem sedan apr. 200922 inlägg
#4

1. Använd if för att kolla om du är på sista länken som du ska skriva ut.

SoulGodMedlem sedan aug. 20051 200 inlägg
#5

Att det handlade om en if-sträng förstod jag.
Men vad skriver jag? If $row = End ( i tankesättet lät det bra haha )

whzfredMedlem sedan apr. 200922 inlägg
#6

Har du kollat på "int mysql_num_rows ( resource $result )", Kanske är något för dig?

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)