2009-06-08 10 views
0

Hallo Ich habe zwei Tabellen (Benutzer & Freunde) Ich muss eine Verbindung mit der Freundes-Tabelle, um alle Freunde für eine Benutzer-ID zu bringen, dann mit der Benutzertabelle verbinden und die Informationen für diesen Benutzer bringen , mit der Freund-ID. Ich habe den Code unten, aber das bringt nur einen Benutzer.Schleife durch zwei SQL-Abfragen php

Es muss die Anzahl der Benutzer online zählen.

function online_friends() 
{ 

$ID = ($_SESSION['ID']); 
$friend = "SELECT * FROM `friends` WHERE `user_id` = '$ID' AND `accepted` = 'TRUE'"; 
$result=mysql_query($friend); 

    while ($row = mysql_fetch_assoc($result)) 
    { 
    $friend_id = $row['friend_id']; 
    $get = "SELECT * FROM `users` WHERE `ID` = '$friend_id' AND `online` = 'TRUE'"; 
    $result_friend=mysql_query($get); 
    $count_friends=mysql_num_rows($result_friend); 
    } 
    return $count_friends; 

} 

Dank Edit: Ich habe diese manuell, indem Sie durch phpMyAdmin und es bringt zwei oder mehr Reihen geprüft.

+0

Können Sie nicht verwenden eine Abfrage beitreten? – NinethSense

Antwort

1

Zunächst sollten Sie vorbereitete Abfragen verwenden, anstatt die Abfragezeichenfolge manuell zu erstellen.

zweitens die Abfrage Sie wie folgt aussieht:

Select count(*) from `friends` join `users` on `user_id`=`users`.`id` where `users`.`id`=? and `accepted`=`TRUE` and `online`='TRUE' 
+0

Danke funktioniert super :) –