2013-11-09 91 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可以從這個查詢的結果中獲得。

編輯:

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是loged用戶的用戶名.... – 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%'