2013-05-28 28 views
0

顯示數據我有兩個表從我需要通過以下方式來顯示一些數據:從2個表

從表1,我要選擇所有具有相同的值Id_ref用戶。 我選擇了它們之後,我想要顯示它們的編號,然後顯示它們中的每一個,並顯示它們在Table2中的行數,但不是它們的行數,只是某些符合我的條件的行。另外我想顯示從Table2中選擇的行的ID。我的代碼是:

$query = 'SELECT * FROM Table1 WHERE id_ref = '.$id_user.' AND active = 1 AND approved = 1 ORDER BY `id_aff` DESC'; 
$users_brought = mysql_query($query, $conn) or die(mysql_error()); 
$num_users_brought = mysql_num_rows($users_brought); 


    while($user_bro = mysql_fetch_assoc($users_brought)): 


    $query = 'SELECT * FROM Table2 WHERE id_aff = '.$user_bro['id_aff'].' AND ref = '.$income['id_user']. 
$user_bro_brought = mysql_query($query, $conn) or die(mysql_error()); 
$num_user_bro_brought = mysql_num_rows($user_bro_brought); 

但是有些東西不能正常工作......對此有何看法?

回答

0

你在這一行有一個語法錯誤

$query = 'SELECT * FROM Table2 WHERE id_aff = '.$user_bro['id_aff'].' AND ref = '.$income['id_user']. 

你應該把它格式化爲

$query = 'SELECT * FROM Table2 WHERE id_aff = '.$user_bro['id_aff'].' AND ref = '.$income['id_user']; 

順便說一句,你不應該使用mysql_ *功能,因爲它們已被棄用

+0

感謝來取代它,我已經更新,但仍然得到錯誤 – Merlin

0

您可以加入兩張表,如

$query = 'SELECT * FROM Table1 
     JOIN table Table2 
     ON Table2.id_aff = Table1.id_aff AND Table2.ref = Table1.id_user 
     WHERE id_ref = '.$id_user.' AND active = 1 AND approved = 1 
     ORDER BY `id_aff` DESC'; 

多過你不得不爲第二選擇的查詢語法錯誤,請嘗試使用

$query = 'SELECT * FROM Table2 
      WHERE id_aff = '.$user_bro['id_aff'].' 
      AND ref = '.$income['id_user']; 
+0

是的蔭也建議不要使用mysql_ *功能,因爲他們depricated,而不是他們使用mysqli_ *函數或pdo語句 – Gautam3164

+0

謝謝,我也嘗試加入,但仍然出現錯誤 – Merlin