Seite 1 von 1

User-Eintrag nur 1x ausgeben...

Verfasst: 05.11.2003 12:45
von AWSW
Hallo,
ich brauch mal kurz Eure Unterstützung bei folgender Abfrage:
$lastusercars_limit = $introportalmod_config['lastusercars_limit'];
$sql = "SELECT user_id FROM " . $table_prefix . "usercars ORDER BY usercars_id DESC LIMIT $lastusercars_limit";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain usercars information - Is the UserCars MOD installed ?', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$user_id = $row['user_id'];
$sql1 = "SELECT username FROM " . USERS_TABLE . " WHERE user_id = " . $user_id;
if ( !($result1 = $db->sql_query($sql1)) )
{
message_die(GENERAL_MESSAGE, 'Could not get user data for usercars', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result1) )
{
$template->assign_block_vars("lastusercars", array(
'USERNAME' => $row['username'],
'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id"))
);
}
}
Bisher wird der Username AWAW 3x ausgegeben, da er 3 Bilder in die usercars-Tabelle eingetragen hat. Der User AWSW hat hingegen nur 1 Bild hoch geladen und wird demnach auch nur 1x angezeigt:

[ externes Bild ]

Wie muss ich die Abfrage ändern, damit auch der Username AWAW bzw. jeder Username nur 1x in der Liste der letzten Einträge erscheint ?

Danke im Vorraus! :D

Verfasst: 05.11.2003 13:14
von Pyramide
Kennst du JOIN?

Code: Alles auswählen

SELECT u.user_id, u.username, count(uc.usercars_id) AS anzahl_autos
FROM phpbb_users u
JOIN usercars uc ON(uc.user_id = u.user_id)
GROUP BY u.user_id

Verfasst: 05.11.2003 14:10
von AWSW
Hat sich erledigt... Trotzdem Danke ! :D