• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Schleife gibt immer selbe ergbnisse aus !

skype90

Mitglied
hallo wie mein titel schon sagt meine schleife gibt bei jeden schleifendurchlauf das selbe ergebniss aus hier ist mein code


PHP:
$result=safe_query("SELECT * FROM ".PREFIX."user_gbook WHERE userID='".$id."'");

            $n=1;
             while($row=mysql_fetch_array($result)) {
             $nickname = $row['name'];
             $username='<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'"><b>'.$row['nickname'].'</b></a>';
             $country=flags(''.$row['country'].'');
             $avatar='<img style="height:50px;width:50px;" src="images/avatars/'.getavatar($row['avatar']).'" alt="" />';
             $avatar = '<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'">'.$avatar.'</a>';
             $registerdate=date('d.m.y', $row['registerdate']);
             $username = htmlspecialchars($row['nickname']);
             $username= substr($row['nickname'], 0, 7);
              $username.='...';


     $n++;
                }


wenn ich z.b $nickname ausgeben will gibt er mir immer den selben nicknames raus ... was mache ich falsch

mfg

skype90
 
Werbung:
Dein Query ist eventuell falsch? Deine Where Klausel solltest du überprüfen.
Ist $id ein Primary Key?
 
Zuletzt bearbeitet:
Häh?
Du suchst doch nach allem (*) aus der Tabelle user_gbook wo die ID einen bestimmten Wert hat ($id). Somit kriegst du alle Datensätze, bei denen die userID = $id ist. Wenn userID ein Primary Key ist, kriegst du nur einen Datensatz. Wenn du alle Benutzer anzeigen lassen willst, musst du die WHERE-Klausel weglassen.
 
Werbung:
habs getan leider kriege ich immer noch die selben werte userid ist kein primary key sondern fremdschlüssel der primary key ist gbid... und eins kann ich noch sagen er gibt mir immer den nicknamen des users dem das gästebuch sogesehen zugewiesen wurde ...
 
Zuletzt bearbeitet:
Gibt es z.B. Nicknames denn mehrfach? Liegen die selben Nicknames in mehreren Datensätzen vor? Schau mal genau nach was in der Datenbanktabelle derzeit enthalten ist (z.B. mittels phpmyadmin).
 
Ich gehe auch davon aus, dass der foreign key der primary key der User-Tabelle ist, somit wäre es logisch, dass du ausschließlich 1 User mehrfach bekommst, da dieser ja auch mehrere Gästebuch-Einträge verfassen kann. Ich glaube mit dem "Befehl" DISTINCT kannst du doppelte Ergebnisse entfernen.
SELECT DISTINCT feld1, feld2, feld3, feld4 ...
Bin mir aber nicht mehr so sicher. Wenn der Befehl funktioniert liegt es ganz sicher nicht an deinem PHP-Script.
 
Werbung:
@Cheffchen: Ist mir auch grad aufgefallen. Aber anscheinend bekommt er ja eine Ausgabe und kein Error.

Und wird $id vorher (richtig) deklariert?

Schreib am besten mal den gesammten code, oder wird es included?
 
Werbung:
Zurück
Oben