2015-07-13 31 views
0

我有兩個簡單的表T1T2兩個數據都通過上傳。我想在特定的user_id下顯示file_name如何在兩個表中顯示數據php

T1 
------------------------- 
ID user_id admin_id 
1  5  11 
2  6  11 
3  5  11 


T2 
-------------------------- 
ID user_id file_name 
1  5  orange 
2  6  apple 
3  5  banana 

我的問題是它會顯示兩次回聲如下,而不是隻有一次。做這個的最好方式是什麼?我必須使用內部連接嗎?或者每個循環只能使用2個。對於noob問題抱歉。

橙色 香蕉

橙色 香蕉

這裏是我的示例:

$test1 = select user_id,admin_id FROM T1; 

for($test1 as $key => $value) 
{ 
    $test2 = select user_id,file_type FROM T2; 

    foreach($test2 as $key => value2) 
    { 
    if(test1->user_id==test2->user_id) 
    { 
     $test2 = select user_id,file_name FROM T2; 
     echo $test2->file_name.'<br>'; 
    } 
    } 

} 
+0

你說的是sql查詢,但你似乎沒有在你的例子中執行任何sql。這個問題被標記爲「PHP」,但你的代碼示例不是有效的PHP。你能更清楚並解決這些問題嗎? –

+0

是的,你需要加入..它不是一個好的做法,在循環內使用查詢。你只會耗盡你的服務器 –

回答

1

首先,你完全錯過了你的樣品中的PHP語法(談論的查詢字符串),其次沒有任何請求你的MySQL(或任何SQL)服務器。

對於您的SQL命令,您應該閱讀有關SQL中存在的JOIN命令的信息 http://www.w3schools.com/sql/sql_join.asp 以下是一個很好的網站。它的詳細和提供了很好的例子

對於你關於內部連接的問題:你需要左連接(糾正我,如果我錯了),並加入user_id。我不會使用2個查詢+循環導致連接是整個數據庫事務中最慢的事情。命令本身將在幾乎沒有時間完成

相關問題