2013-11-09 4 views
0
require_once("./Connections/root.php"); 
session_start(); 
$user = $_SESSION['MM_Username']; 
$q = mysql_query("SELECT id FROM performer WHERE username = '$user'"); 
$r = mysql_fetch_assoc($q); 
$q1 = mysql_query("SELECT poster_id, wall_msg FROM performer_info WHERE id = '$r[id]'"); 
$r1 = mysql_fetch_assoc($q1); 
$q2 = mysql_query("SELECT username FROM performer WHERE id = '$r1[poster_id]'"); 
$r2 = mysql_fetch_assoc($q2); 

echo $r2['username'] . " : " . $r1['wall_msg']; 

Возможно ли использовать все эти запросы в одном запросе и результате?запрос и результаты объединяются

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

$ _SESSION [ «MM_Username»] является loged в пользователя, имя пользователя

+0

Использование mysqli_ * функции вместо функций mysql_8 –

+0

Вы можете использовать присоединиться запросы, если три таблицы отображаются. –

ответ

0

Вы можете использовать запрос, например

select wall_msg from performer_info where poster_id = (select id from performer where username = '$user') 

Имя пользователя, которое вы уже знаете ... и wall_msg, могут быть получены из результата этого запроса.

EDIT:

select p.username, t.wall_msg from performer p, (select poster_id, wall_msg from performer_info where id=(select id from performer where username= '$user'))t where p.id = t.posterid; 

Это будет работать только в том случае, если внутренние запросы возвращают один результат. Надеюсь, поможет.

+0

но они не ... 1 возвращает имя пользователя плаката (из таблицы исполнителей), а другое возвращает wall_msg (из таблицы performer_info) – FoxWizzy

+0

, но не является именем пользователя плаката и MM_UserName одинаково ... В вашем запросе выше вы сначала получите id из имя пользователя, а затем получить имя пользователя от id, они должны быть одинаковыми? Если да, то все, что вам нужно, это значение wall_msg, которое можно получить из запроса в моем ответе. – AsG

+0

MM_Username - это имя пользователя зарегистрированного пользователя .... – FoxWizzy

0

Как насчет внутреннего соединения?

SELECT t.username , pi.wall_msg 

FROM performer t 

INNER JOIN performer_info pi ON pi.id = t.id 

WHERE t.username LIKE '%$user%' 
Смежные вопросы