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

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
AbX

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

Beitrag 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
Xmopf
Mitglied
Beiträge: 85
Registriert: 17.04.2002 09:21
Wohnort: Sauerland

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“