2011-07-15 4 views
0

私は同様の投稿をサイトで検索しましたが、開発者が膨大なSQLクエリで計算をしようとした場所(win-lose-draws)を見つけました。私は自分のコントローラーで計算をしたいと思っていますが、どこから始めるべきかは分かりません。CodeigniterとMysqlを使ってSoccerleaguerankingを作成する

私はこのように見える2つのテーブルがあります。

チーム

teamID  teamName 

ゲーム

gameID  matchday  homeTeamID  awayTeamID homeScore  awayScore 

は、今私は、この試合の結果のうち、ランク付けリーグを生成しようとしているが、しかし、私はこれを見ていくつかの洞察力が必要です...

現時点では、私はquすべての試合結果を選択し、このような自宅や離れたチームへの正しいteamID年代を割り当てERY:

"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)を使用します。あなたはどちらですか? 基本的にあなたのアイデアは、新しいテーブル(本当のランキング)を作ることです。そして、管理者の1人がゲームをいくつか追加し、スクリプトが実行され、ポイントがデータベースに挿入されます。それはもちろん、可能性のある1つの解決策です。最初のことについても考えていませんでした。ありがとうございます@Cystack – Rypens

+0

あなたの管理者が新しい結果を追加した直後に、管理者がエントリを追加するWebインターフェイスを使用している場合、2つの新しい値(ランキングが+3/0か+ 3または+ 1/+ 1私は推測する)。 – Cystack

+0

申し訳ありませんが、今週は試してみます:) 回答受付中です! – Rypens

関連する問題