YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Abfrage falsch für ein Profil? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 4.046 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Abfrage falsch für ein Profil?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

 Abfrage falsch für ein Profil? Antworten Zitieren Editieren Melden       UP

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

__________________
Winke liebe Grüße
23.08.11 15:49 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

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.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schrimm: 23.08.11 16:36.

23.08.11 16:35 Schrimm ist offline Finden Als Freund hinzufügen
derkleene derkleene ist männlich
Alternativ Mitglied


Dabei seit: 28.08.06
Beiträge: 181
Fähigkeiten: WBB2 Fortgeschritten; WBB Lite 1 Profi
Herkunft: Niedersachsen
Forenversion: Lite 1.0

Antworten Zitieren Editieren Melden       UP

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.

__________________
---
Es grüßt
DerKleene
NeoTower
23.08.11 17:31 derkleene ist offline E-Mail WWW Finden Als Freund hinzufügen
Ghostmaster
Das Böse

images/avatars/avatar-4371.gif

Dabei seit: 17.01.04
Beiträge: 6.440
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

@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>, ";
}
23.08.11 17:44 Ghostmaster ist offline Finden Als Freund hinzufügen
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Speedstick
Antworten Zitieren Editieren Melden       UP

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

Dateianhang:
png liste.png (384 KB, 138 mal heruntergeladen)


__________________
Winke liebe Grüße

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Speedstick: 26.08.11 01:58.

26.08.11 01:54 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

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.
26.08.11 03:13 Schrimm ist offline Finden Als Freund hinzufügen
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Speedstick
Antworten Zitieren Editieren Melden       UP

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

__________________
Winke liebe Grüße
29.08.11 15:04 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

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 = ....
29.08.11 15:15 Schrimm ist offline Finden Als Freund hinzufügen
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Speedstick
Antworten Zitieren Editieren Melden       UP

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

__________________
Winke liebe Grüße
31.08.11 16:44 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Nochmal?
Also doppelt?
Falscher Eintrag im Template! Freude
31.08.11 17:51 Schrimm ist offline Finden Als Freund hinzufügen
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Speedstick
Antworten Zitieren Editieren Melden       UP

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

Dateianhang:
jpg fehler.jpg (472 KB, 62 mal heruntergeladen)


__________________
Winke liebe Grüße

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Speedstick: 06.09.11 15:49.

01.09.11 22:02 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

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?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schrimm: 01.09.11 22:42.

01.09.11 22:41 Schrimm ist offline Finden Als Freund hinzufügen
Speedstick
Mitglied


Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Speedstick
Antworten Zitieren Editieren Melden       UP

Ich werde mal herum spielen an der PHP smile Aber danke für die Hilfe

__________________
Winke liebe Grüße
06.09.11 15:48 Speedstick ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Abfrage falsch für ein Profil?