2009-06-08 2 views
0

Привет, у меня есть две таблицы (пользователи & друзей) Мне нужно подключиться к таблице друзей, чтобы привести всех друзей для идентификатора пользователя, затем подключиться к таблице пользователя и принести информацию для этого пользователя , используя идентификатор друга. У меня есть код ниже, но это приводит только к одному пользователю.цикл через два sql-запроса php

Необходимо рассчитать количество пользователей в Интернете.

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; 

} 

Благодаря Edit: Я проверил это вручную, запустив через PHPMyAdmin и это приносит две или более строк.

+0

Разве вы не можете использовать запрос с соединением? – NinethSense

ответ

1

Прежде всего, вы должны действительно использовать подготовленные запросы, а не строить строку запроса вручную.

во-вторых, запрос вы хотите выглядит следующим образом:

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

Спасибо, отлично работает :) – 2009-06-08 10:48:03

Смежные вопросы