2

我有一个包含大量数据库数据的数组。在数组中,有两个名为teameinsid和的字段teamzweiid。查询是一个非常简单的查询:

$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,但我不知道在哪里保存名称。如果我尝试:

$name = mysql_query("select name from team where teameinsid = $teins", $con) 

每次都会被覆盖。我该如何管理?

编辑:

数据库方案:

Table Team : id, name Table Begegnung: id, teameinsid, teamzweiid

4

2 回答 2

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'];
}
于 2012-10-10T15:33:45.477 回答
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) 
于 2012-10-10T15:34:22.383 回答