Seite 1 von 1

Navigation in MySQL-DB... nur ein Teil wird ausgegeben ...

Verfasst: 06.03.2003 09:25
von AbX
Hi,

also ich wollte meine Navigation in DB auslagern...
(wie in nem anderen Thread erwähnt.. und das Problem das ich da hatte gelöst)

.. Da kommen meine Fragen:
1.Ist es überhaupt sinnvoll die ganze Navi in DB zu haben ?
2.ICh lese die daten so aus:

Code: Alles auswählen

$db_tabselect="SELECT * FROM za_menu ORDER BY rang ASC"; 
$db_query=mysql_query($db_tabselect); 

<b>Main</b>
//Auslesen für Navi "main"
while($result=mysql_fetch_array($db_query)){ 
if($result['kategorie']=="1"){ 
echo "<img src=\"img/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"index.php".$result['url']."\">".$result['name']."</a><br>"; 
}}

<b>Kategorien:</b>
//Auslesen für "Kategorie"
while($result=mysql_fetch_array($db_query)){ 
if($result['kategorie']=="2"){ 
echo "<img src=\"img/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"index.php".$result['url']."\">".$result['name']."</a>"; 
}}

<b>Service:</b>
//Auslesen für 
while($result=mysql_fetch_array($db_query)){ 
if($result['kategorie']=="3"){ 
echo "<img src=\"img/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"index.php".$result['url']."\">".$result['name']."</a>"; 
}}

... es wird aber nur der Teil für 'main' ausgegeben ...
warum ? ... was mach ich falsch ?

hier meine test-seite: www.gamesatnet.de/test/1x :oops: :oops: :oops:


cuu cuuu

Verfasst: 06.03.2003 12:29
von Xmopf
Hallo,

nachdem dur mit

Code: Alles auswählen

while($result=mysql_fetch_array($db_query)){ ...
die abgefragten Daten durchlaufen hast, steht der Zeiger der den aktuellen Datensatz anzeigst hinter dem letzten Eintrag, deshalb wird bei den folgenden while-Schleifen direkt "false" zurückgegeben und die Schleife bricht ab. Du müßtest also jedes mal eine neue SELECT-Abfrage machen. (Ich weiß nicht ob man den Zeiger auch irgendwie wieder an den Anfang setzen kann)

Ich würde die Navigation einfach in eine Datei "header.php" packen, und diese dann immer mit include(), in deine Seite einbinden.

Gruß
Xmopf

Verfasst: 06.03.2003 14:07
von Pyramide
Xmopf hat geschrieben:Ich weiß nicht ob man den Zeiger auch irgendwie wieder an den Anfang setzen kann
Ja, kann man: http://de.php.net/manual/de/function.my ... a-seek.php

Alternativ kannst du die mit mysql_fetch_array ausgelesenen Arrays auch einmal in ein weiteres Array speichern, welches du dann mehrmals durhcläufst. So müssen die Daten nicht erneut aus der Datenbank gelesen werden.