2014-12-10 3 views
0

Сначала я ищу информацию обо всех вопросах. от «вопроса» таблицы, включая заголовок, содержание, пользователь и т.д. код:php mysql query combination

$sql = "select * FROM question where id>0 ORDER BY id ASC"; 
    $result1 = mysql_query($sql); 
    $res=Array(); 

А потом я хочу найти точку пользователя из таблицы «пользователь». Поэтому я должен искать точку для каждого пользователя в каждой строке из Result1 Код:

while($rows=mysql_fetch_assoc($result1)) 
    { 
     $res[]=$rows; 
     $user = $rows['user']; 
     $sql2 = "select point from user where name='$user'"; 
     $result2 = mysql_query($sql2); 
    } 

Моя проблема заключается в том, чтобы совместить точку всех пользователей (result2) с информацией вопросы (Result1) вместе, так что. Я могу вернуть json для каждой строки.

+0

mysql устарел, пожалуйста, consi используя API-интерфейсы mysqli. Могу помочь получить образец ввода и вывода, но я думаю, что ключ заключается в том, что прямо сейчас вы перезаписываете $ result2 с каждой итерацией цикла while. Я считаю, что вы хотите, чтобы $ result2 был массивом, и вы добавляете (push) каждый новый результат в массив. – RobP

+2

Подсказка: рассмотрите вместо этого использование операторов JOIN. – Ghost

+0

'выберите вопрос. *, User.point FROM question left join user on user.user = question.user' – roullie

ответ

0

Используйте левую присоединяйтесь, так как я понимаю, что эта работа для вас

$sql = "SELECT q.*, u.point AS point FROM question AS q LEFT JOIN user AS u ON q.user = u.name WHERE q.id > 0 ORDER BY q.id ASC"; 
$result = mysql_query($sql); 
0

Это лучше идти с стыки здесь я даю вам query.i надеюсь, что это может поможет вам

select * from question q,user u where q.id>0 ORDER BY id ASC 
0

попробовать что-то вроде этого: используя левое соединение

select question.*,user.point FROM question left join user on user.name= question.name where id>0 ORDER BY id ASC