2012-10-10 65 views
2

我有一個數據庫中有大量數據的數組。在該陣列中,有兩個字段,分別稱爲teameinsidteamzweiid。該查詢是一個非常簡單的:從不同的表中獲取ID的名稱

$spiel = mysql_query("select teameinsid, teamzweiid from begegnung", $connection) or die("Keine passende Begegnung"); 

我需要的是在數據庫中搜索這些ID的名稱。名字在不同的表格中。

我現在擁有的是以下幾點:

while($tmp = mysql_fetch_array($spiel)){ 
$teins = $tmp['teameinsid']; 
$tzwei = $tmp['teamzweiid']; 
} 

所以我知道這兩個ID,但我不知道在哪裏保存的名字。如果我嘗試:

​​

它每次都被覆蓋。我怎樣才能管理這個?

編輯:

數據庫方案:

表團隊:ID,名稱 表Begegnung:ID,teameinsid,teamzweiid

+0

您的查詢不符合你的代碼......在哪裏*選擇*'teameinsid'的查詢? –

+0

我添加了查詢,但與我的問題沒有關係。我知道如何獲得這兩個ID。 – user896692

+0

而$ teins應該是數組 –

回答

1

我測試了這一點,它的工作原理,如果你在$ speil查詢這樣的:

SELECT B.*, T1.name AS teamnameeins, T2.name as teamnamezwei FROM begegnung AS B 
JOIN team AS T1 ON T1.id = B.teameinsid 
JOIN team AS T2 ON T2.id = B.teamzweiid 

http://dev.mysql.com/doc/refman/5.0/en/join.html

您現在應該使用這樣的代碼:

while($tmp = mysql_fetch_array($spiel)){ 
$teins = $tmp['teamnameeins']; 
$tzwei = $tmp['teamnamezwei']; 
} 
0

改變這樣

while($tmp = mysql_fetch_array($spiel)){ 
    $teins[] = $tmp['teameinsid']; 
    $tzwei[] = $tmp['teamzweiid']; 
    } 

代碼現在

$ids=implode (',' , $teins); 

$name = mysql_query("select name from team where teameinsid in($ids)", $con) 
+0

這隻需要一次。一個Id可以在我的陣列中多次。 – user896692