我無法弄清楚如何選擇2個團隊之間的匹配,即使在家中或離開時也是如此。SQL PHP在相同的查詢中選擇具有多個條件的列
例子:
我有這個表:
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隊之間之前的所有匹配(即使在家中或離開)。
現在這是我的代碼,但只顯示1匹配的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 ++; }
您在查詢中提及了諸如對手和短的內容,但在您的表格中似乎沒有任何意義。爲了獲得最後5場比賽,你需要(a)有一個與比賽相關的日期,或者(b)讓我們知道如果更大的'matchId'意味着更晚的日期 – apokryfos
你是對的。我錯過了一些點。我已經改變了一些信息,現在可以給我一個提示嗎? – hornyy