2011-07-15 28 views
0

我在網站上搜索過類似的帖子,但是我發現只有一個開發人員試圖用巨大的SQL查詢來進行他的計算(輸贏)。我想在我的控制器中進行計算,但不知道從哪裏開始。用Codeigniter和Mysql創建Soccerleagueranking

我有2個表看起來像這樣:

teamID  teamName 

遊戲

gameID  matchday  homeTeamID  awayTeamID homeScore  awayScore 

現在我想產生一個排名聯賽了這場比賽的結果,但是,我需要一些關於如何看待這個...

此刻,我有一個曲線ERY將選擇所有比賽結果和正確teamID的分配給家庭或客隊是這樣的:

"SELECT g.gameID, g.matchday, g.homeTeamID, g.awayTeamID, g.homeScore, g.awayScore, th.teamName as homeTeam, ta.teamName as awayTeam, 
FROM games AS g 
INNER JOIN teams as th ON g.homeTeamID = th.teamID 
INNER JOIN teams as ta ON g.awayTeamID = ta.teamID 
JOIN submenu_teams AS s ON g.submenuID = s.submenuID" 

可有人試圖解釋哪裏何去何從根據多少得到球隊的一個很好的排名他們在賽季中獲勝的分數?

Thnx!

回答

0

我建議跟蹤一個表格(season1)中的點數,以便每次請求頁面時,都不必再次計算排名:您只需從表格中提取數據。

每次播放新的比賽時,運行一個腳本,將X點添加到贏家,並減去輸家的Y點。

要顯示,獲取結果並按分數排序。

你完成了!

(這是我的崗位,你的排名和SQL閱讀?)

+0

沒有它是[這裏](http://stackoverflow.com/questions/2876219/complicated-football-league-dynamic-ordering- in-mysql)一個。哪一個是你的? 所以基本上你的想法是創建一個新表(一個真正的排名),每次管理員添加一些遊戲,腳本運行並插入點數據庫?這是一個可能的解決方案,甚至沒有想到這一點:)。感謝@Cystack – Rypens

+0

是的,如果你的管理員使用web界面添加條目,在添加每個新的結果後,你用2個新值加載排名表(如果它是足球,那麼它是+3/0 0/+ + 3或+ 1/+ 1我猜)。 – Cystack

+0

好吧,本週我會試一試:)! 接受答案! – Rypens