Seite 1 von 1

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

Verfasst: 05.03.2003 20:03
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

Verfasst: 05.03.2003 20:15
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.