mit 'while' db-auslesen ... irgendiw endloscschleife ?

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

mit 'while' db-auslesen ... irgendiw endloscschleife ?

Beitrag von AbX »

HI,

hmm hallo,
also ich wollte die navigation in ner tabbel in der db auslagern...

so sieht die tabelle aus
id | url | name | kategorie | rang
int | varchar50 | varchar30 | tinyint | tinyint

die aufegeb der felder... id ist wohl klar.... url ist der querystring hinter dem index.php (Beisp.: ?x=inc&c=impressum) name ist der name des linkes <a ...>NAME</a> ...
kategorie ist zu welchem navi teilabschnit es gehört... und rang.. das soll die reihenfolge sein in der die links angezeigt werden....

look @ www.gamesatnet.de/test/1x

----------------------------------
jetzt mein problem....

ich lese die db so aus:

Code: Alles auswählen

$db_tabselect="SELECT * FROM za_menu ORDER BY rang ASC";
$db_query=mysql_query($db_tabselect);
$result=mysql_fetch_array($db_query);
while($result){
if($result['kategorie']=="1"){ 
echo "<img src=\"img/arrow.gif\" border=\"0\" alt=\"\">&nbsp;<a href=\"index.php".$result['url']."\">".$result['name']."</a>";
}}

irgendwi wird while zu einer endlos schleife.... und der script bzw. die temporäre datei die an den user geschickt wir d bläht sich auf.....

und ich finde den Fehler nich.... warum wird die

Code: Alles auswählen

while($result)
zu ner endlosschleife ?

und 2.frage: geht es nicht intiligenter.. als mit meiner Methode ?


nagut dann mal cuu cuuu
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

die endlos schleif is weil $result nich geändert wird in der schleife, du suchst:

while ($result = mysql_fetch_array(...))
{
// dein code
}

aus dem php manual:
Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

würde also auch immer nur eine zeile geben, wenn es nich zu ner inifinite loop kommen würde.
Antworten

Zurück zu „Coding & Technik“