phpbar.de logo

Mailinglisten-Archive

[php] Menu struckturiert ausgeben

[php] Menu struckturiert ausgeben

Thomas Beckmann php_(at)_phpcenter.de
Wed, 11 Jul 2001 08:08:22 +0200


>ich will ein Menu auf Basis einer mySQL Bank aufbauen.
>Im grossen und ganzen ja kein Problem. Jetzt moechte
>ich das ganze aber auch noch struckturieren.
>Die db sieht dann so aus
>
>|id | mid | bezeichnung |
>+-----------------------+
>| 1 | 1.0 | Hauptmenu   |
>| 2 | 1.1 | ueber uns   |
>| 3 | 1.2 | ueber das   |
>| 5 | 2.0 | Produkte    |
>| 6 | 2.1 | dies        |
>| etc.                  |
>
>Rauskommen soll das:
>
>-------------------
>Hauptmenu
>-------------------
>  ueber uns
>  ueber das
>-------------------
>Produkte
>-------------------
>  dies
>etc.

Ich w=FCrd die db ja noch um den link erg=E4nzen
|id | mid | bezeichnung |link
Machst also Dein Query und bekommst ein array
- snip
if (!($result =3D mysql_query($query, $hdl)))=20
	mysql_die($hdl, 'Datenbankabfrage '.$query.' funktioniert nicht!');
$eintraege =3D mysql_fetch_array($result);
foreach($eintraege as $eintrag)
{
	$mid =3D split($eintrag['mid'], '.');
	if ($mid[1]) echo normalerEintrag($eintrag);
	else echo ueberschriftsEintrag($eintrag);
}
mysql_freeresult($result);

-snap

Die Funktionen normalerEintrag und ueberschr... sehen etwa so aus:

-snip

function normalerEintrag($eintrag)
{
	return '&nbsp;<a href=3D"'.$eintrag['link'].'"'>'.
			$eintrag['bezeichnung'].'</a>'."<br>\n";
}

function ueberschriftsEintrag($eintrag)
{
	return '<hr><strong><a href=3D"'.$eintrag['link'].'"'>'.
			$eintrag['bezeichnung'].'</a></strong>'."<hr>\n";
}

-snap

alles ungetestet ...

---
Thomas Beckmann, Kiel, Germany
beckmann_(at)_gis.de


php::bar PHP Wiki   -   Listenarchive