Abfrage falsch für ein Profil?

Speedstick
Hallo smile
irgendwie steh ich gerade voll auf der Leitung um das Problem zu lösen. Also ich habe eine Liste erstellt wo ich mir per Datenbankabfrage die User auflisten lasse, die in der Gruppe XYZ sind. Soweit wirds auch alles angezeigt ohne ein Problem. Jetzt wollte ich noch das jeder Name der dort angezeigt wird verlinkt ist zum Progil des Users also habe ich jetzt folgende Abfrage in meine PHP gebaut.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
	$sql = "SELECT u.username, u.userid FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON u.groupid=g.groupid
    WHERE g.groupid=12 ORDER BY username";
            $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result)) {
       $username .= $row['username']."<br>";     
           }   
		   if ($username != "") {
      $userid = $username['userid'];
      $username = "<a href=\"profile.php?userid=".$userid."&sid=$session[hash]\" target=_blank>$username</a>";
    } 


Doch wenn ich jetzt auf einen Namen gehe, werden mir alle als Link angezeigt also ob alle zusammen geschmolzen sind und wenn man drauf klickt habe ich einen ungültigen Verweiß angegeben.

Jetzt bräuchte ich mal einen Denkanstoß, wie ich das Problem lösen kann

Liebe Grüße
Schrimm
Hallo,
Du füllst alle Mitglieder, mittels einer Schleife, in die Variable $username.
Wenn du dies gemacht hast, gehst du her und fragst ab, ob überhaupt deine Variable beschrieben wurde.
Das wird sie ja offensichtlich.
Aber nun machst du folgendes:
Du nimmst die letzte erhaltene Userid, die deine Schleife erstellt hat, und legst sie über deine Variable $username, wo ALLE deine Mitglieder drinnen sind.
derkleene
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
$sql = "SELECT u.username, u.userid FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON u.groupid=g.groupid
    WHERE g.groupid=12 ORDER BY username";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
    $username= $row['username'];
    $userid = $row['userid'];
     if ($username != "") {
        $username_darstellen .= "<a href=\"profile.php?userid=".$userid."&sid=$session[hash]\" target=_blank>$username</a>, ";
    }else{
       $username_darstellen .= $username.", ";     
    }   
}
echo $username_darstellen;


Hoffe das ich das nun richtig habe....
ist nicht getestet.
Ghostmaster
@derkleene

Deine Abfrage verstehe ich nicht ganz. WEnn ein Username vorhanden ist, wird die dazugehörige UserID mitgeliefert. Soweit sogut, aber wenn kein Ùsername vorhanden ist willst du über $username trotzdem einen Namen ausgeben, den es ja eigentlich gar nicht gibt.

@Speedstick
code:
1:
2:
3:
4:
5:
6:
$result = $db->query("SELECT userid,username FROM bb".$n."_users WHERE groupid = '' ORDER BY username ASC");
while ($row = $db->fetch_array($result)) {
 $usersingroup .= "<a href=\"profile.php?userid=".$row[userid]."&sid=$session[hash]\" target=_blank>$row[username]</a>, ";
}
Speedstick
Ahhh danke für die Hilfe smile

Für eine Übersihtsliste welcher User in welcher Gruppe ist hatte ich eine Liste erstellt und so hab ich erst mit dieser Abfrage die User aus der jeweiligen Gruppe aus der Datenbank geholt.

code:
1:
2:
3:
4:
5:
6:
$sql = "SELECT u.username, u.userid FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON u.groupid=g.groupid
    WHERE g.groupid=10 ORDER BY username";
            $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result)) {
       $username .= $row['username']."<br>";     
           }


Dann hatte ich versucht die einzelenen Username verlinken zu lassen auf das Profile was ich aber nicht so recht hinbekommen habe, weil ich bin auch noch recht neu im SQL und so und bei mir waren dann alle Username aus der Gruppe XYZ verlinkt ohne eine Userid statt das Name A einen Link hatte und so weiter.

@derkleene: So ich hab es mal eingebaut soweit taucht auch die ´Verlinkung auf mit der richtigen Userid nur, wird da drüber immer noch mal der Name angezeigt unverlinkt aber das kann auch sein das da noch ein Fehler im temp ist das schau ich nachher mal nach smile

So sieht das ganze ohne Usernamenverlinkung aus
Schrimm
Zitat:
Original von Speedstick
Dann hatte ich versucht die einzelenen Username verlinken zu lassen auf das Profile was ich aber nicht so recht hinbekommen habe, weil ich bin auch noch recht neu im SQL und so und bei mir waren dann alle Username aus der Gruppe XYZ verlinkt ohne eine Userid statt das Name A einen Link hatte und so weiter.

Aus meinem Post sollte eigentlich hervorgehen, was da nicht gestimmt hat. Floeten
War er eventuell unverständlich? verwirrt
Oder wurde er schon verstanden?
Rückmeldung wäre eventuell nicht ganz verkehrt, falls in Zukunft eine andere Person selbiges Problem haben sollte und mein Post ebenfalls nicht verstanden wird.
Speedstick
Also smile

Ich hätte die Userid über die If Abfrage machen sollen und dann die Erweiterung mit dem else und dem echo das hatte ich ja nicht, in meinem Versuch nur mit dem Versuch von derkleene geht es soweit nur ein kleiner Fehler scheint vorhaneden zu sein. Und ich weiß jetzt nicht genau an was das liegt.

Also die Profile der einzelnen User kann ich jetzt aufrufen nur irgendwie wird das jetzt so aufgelistet:


Bella, Bella
Beth Randall, Bella
Beth Randall, Blaylock, Bella
Beth Randall, Blaylock,Brian O´Neal, Bella
Beth Randall, Blaylock, Brian O´Neal, Delano Terrell

Statt:

Bella
Beth Randall
Blaylock
Brian O'Neal
Delano terrell


LG
Schrimm
Wie sieht dein momentaner Code aus?
Sieht so aus als würde er bei jedem Durchgang die Variable mit einem weiteren Eintrag befüllen und nach jedem Zeilenumbruch, der wohl ein "Durchgang" ist die gesamte Variable ausgeben.

Vielleicht statt:
php:
1:
name .= ....

mal das:
php:
1:
name = ....
Speedstick
Also jetzt geht es nach dem ich den Punkt weg gemacht habe nur ist noch etwas aufgetaucht was ich nicht verstehe, wie das passieren kann. Also über dem Header werden die Verlinkten Namen auch nochmal angezeigt, wie kann sowas passieren oder mehr gefragt wo durch kommt sowas?

LG
Schrimm
Nochmal?
Also doppelt?
Falscher Eintrag im Template! Freude
Speedstick
So ich hab mal in mein Template heschaut doch finde ich dort nichts was da drauf hinweißt, wie die Namen dort hinkommen *schmunzel*

code:
1:
GELÖSCHT


Das $username_human und $username_teamnpc gibt mir die Verlinkten Usernamen aus. Die jetzt auch über meinem Header erscheinen. Sehe ich jetzt den Wald vor lauter Bäumen nicht?

LG
Schrimm
Sieht alles korrekt aus.
Mehr als Retespielchen spielen kann Ich bzw. auch ein Anderer auch nicht, da wir den ganzen "Kontext" leider nicht kennen. Freude

Vielleicht haste in deinem php-Code irgendwo ein "echo" stehen?
Speedstick
Ich werde mal herum spielen an der PHP smile Aber danke für die Hilfe