我无法弄清楚如何选择2支球队之间的比赛,即使是在家还是在外。
示例:
我有这张桌子:
MatchID | status | date | short (home) | opponent (Away)
1 ENDED XXX TEAM A TEAM B
2 ENDED XXX TEAM B TEAM A
3 ENDED XXX TEAM C TEAM B
4 ENDED XXX TEAM D TEAM A
我有很多比赛,我想制作一个模块,我可以在其中显示A队和B队之前的所有比赛。(即使是在家里或在外)。
现在这是我的代码,但只显示了2个可能匹配的匹配。
$ergebnis = safe_query("SELECT * FROM table WHERE status='ENDED' AND ((opponent = '".$opp_match."' AND short = '".$short_match."') OR (opponent = '".$short_match."' AND short = '".$opp_match."')) ORDER BY date LIMIT 0,5");
我想限制0,5。只想要两队之间的最后5场比赛。
“opp_match”和“short_match”是与其他模块的连接。当我检查比赛时,我可以检查主队和客队。
有或没有限制我不能显示多个结果。
我只是想显示matchID 1和2.但是现在我只是得到了matchID 1。
编辑:我尝试了另一种方式,但我正在加载所有已结束的匹配。 $ergebnis = safe_query("SELECT * FROM ".PREFIX."upcoming WHERE status='ENDED'");
$i=1;
while($ds=mysql_fetch_array($ergebnis)) {
if($ds['short']==$short_match AND $ds['opponent']==$opp_match) {
eval ("\$matches = \"".gettemplate("matches")."\";");
echo $matches;
}
elseif($ds['opponent']==$short_match AND $ds['short']==$opp_match) {
eval ("\$matches = \"".gettemplate("matches")."\";");
echo $matches;
}
else echo '';
$ I ++; }
答案 0 :(得分:0)
这会有用吗?
SELECT *
FROM table
WHERE status = "ENDED"
AND
(
(opponent = "team1" AND short = "team2")
OR
(opponent = "team2" AND short = "team1")
)
ORDER BY MatchID DESC
LIMIT 5;
这假设如果一个匹配的ID小于另一个匹配,则它已经在另一个匹配之前播放。