2

データベースからの大量のデータを含む配列があります。配列には、 と という 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'];
}

したがって、2 つの ID はわかっていますが、名前を保存する場所がわかりません。私が試してみると:

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

毎回上書きされます。どうすればこれを管理できますか?

編集:

データベース スキーム:

テーブル Team : id, name テーブル作成: 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 に答える