2010-11-23 12 views
0

Mysql Abfrage und PHP-Code, ich verwende Benutzer aus der Datenbank zu erhalten, die bestimmte Kriterien erfüllen, ist:Mysql-Array und Daten

$sql = mysql_query("SELECT a2.id, a2.name FROM members a2 JOIN room f ON f.myid = a2.id 
WHERE f.user = 1 AND a2.status ='7' UNION SELECT a2.id, a2.name FROM members a2 
JOIN room f ON f.user = a2.id WHERE f.myid = 1 AND a2.status ='7' GROUP BY id") 
or die(mysql_error()); 

while ($r = mysql_fetch_array($sql)) 
{ 
$temp[] = '"'.$r[0].'"'; 
} 
$thelist = implode(",",$temp); 

Die Abfrage, die die Liste der Mitglieder mit neuen Galerien folgt erhalten, indem Sie Array von der vorherigen Abfrage.

Diese Abfragen funktionieren gut, aber ich brauche den Namen für jeden Benutzer in der zweiten Abfrage aufgeführt. Diese Daten befinden sich in der ersten Abfrage im Spaltennamen. Wie kann ich es neben '$ f [' id '] aufgelistet bekommen. "-". $ F [' pic1 ']'?

Antwort

0

Während ich nur die erste Abfrage verändern könnte, die Galerien in der gleichen Zeit zu ziehen, oder die zweite Abfrage zu verbinden und den Namen zu bekommen ändern könnten Sie die gleiche Struktur behalten und ein paar Dinge ändern:

In die Schleife nach der ersten Abfrage, wenn $temp[] Gebäude, auch eine Verweistabelle von Benutzer-ID-Benutzernamen erstellen:

$usernames[$r[0]] = $r[1]; 

Dann in Ihre Ausgangsschleife, verwenden sie die ID (vorausgesetzt, sie sind die gleichen!) von der zweiten Abfrage Rufen Sie den gespeicherten Benutzernamen auf:

echo $f['id'] . " - " . $f['pic1'] . " - " . $usernames[$f['id']] . "<br/>";