我有一个包含来自数据库的大量数据的数组。在数组中,有两个名为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)
每次都会被覆盖。我该如何管理?
编辑:
数据库方案:
表团队:id,name 表Begegnung:id,teameinsid,teamzweiid
答案 0 :(得分: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'];
}
答案 1 :(得分: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)