PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Usernamenauswahl


Reinfi
12.01.2006, 13:31:30
Also folgendes Problem:

In einer Tabelle stehen Forumthreads, die eine posterid beinhalten.
Wenn ich nun den Namen des Users haben will, so lese ich aus einer anderen Tabelle den Namen mit einem weiteren SELECT aus.

$thread = mysql_fetch_object( mysql_query("SELECT * FROM forumthread WHERE id='". $_GET['id'] ."'") );
$user = mysql_fetch_object( mysql_query("SELECT * FROM user WHERE id='". $thread->posterid ."'") );


Jetzt habe ich gerade die ganze Zeit mich mit JOIN und den Varianten davon beschäftigt und frage mich ob man das damit nicht lösen kann.

Wäre dankbar für eine anschauliche Hilfe und nicht nur das Posten von Links in denen dann das steht was ich schon eine Stunde durchgelesen habe.

xabbuh
12.01.2006, 13:39:50
Am besten nimmst du in deiner Abfrage ein JOIN auf die Benutzertabelle vor. Dabei müsstest du dir dann überlegen, ob zu einer Benutzerid zwingend ein Benutzer existieren muss. Je nachdem nimmst du entweder einen INNER (Benutzer muss existieren) oder einen OUTER JOIN (Benutzer muss nicht zwingend existieren).

SELECT
...
FROM
formthread AS f
LEFT JOIN
user AS u
ON
f.posterid = u.id

Marilu
12.01.2006, 13:45:32
Etwa so:$query = "SELECT forumthread.*, user.* FROM forumthread
LEFT JOIN user ON forumthread.id = user.id
WHERE id={$_GET['id']}";
$result = mysql_query($query);OK, xabbuh war schneller :-)))