2014-12-08 85 views
0

我正在製作一個體育選秀網站。我在一張桌子上贏得了比賽的勝利,然後是用戶在另一張桌子上挑選的團隊。我需要幫助編寫將比較這兩個字段的php代碼,如果它們相同,那麼您將增加一個win變量,如果它們不存在,則會增加損失列。問題是我的這個團隊項目的程序員輟學了,而我之前並沒有真正用過php。只是讓我得到在數據庫中插入的選擇,我今天花了12小時大聲笑。所以也許這裏有人可以幫助我,所以不需要很長時間。我將發佈我將從中獲取信息的2個表格。比較來自不同表格的2個字段

+0

您要更新的用戶名勝負計數是給定的? – RMK 2014-12-08 09:08:29

+0

我有一個登錄腳本,您可以在其中註冊並創建一個帳戶。 – jimmy 2014-12-08 09:10:18

+0

一切正常,我只需要創建一些東西,可以比較pick.user_picks與winner.weekly_stats,我不知道如何做到這一點。我更新了OP,因爲我忘記了我需要將正確數量的選擇和錯誤的選擇存儲到表中,但這只是一個簡單的插入語句 – jimmy 2014-12-08 09:11:03

回答

0

當SQL可以更好地完成這個技巧時,不要打擾代碼。請注意,下面的查詢假設ws.week_no和ws.game_no創建了一個獨特的遊戲,如果不存在某些數據問題。無論哪種方式,user_picks和weekly_stats都有一個唯一的ID字段來關聯記錄並加入,這是最佳做法。您的weekly_stats_away_fkey和weekly_stats_home_fkey的情況相同,這些應該是int鍵相關的,因爲當紅人隊最終被迫改變他們的名字時你會做什麼!

$db = new PDO("pgsql:dbname=YOUR_DB;host=localhost", "username", "password"); 
$sql = "select up.username, count(case when up.pick=ws.winner then 1 end) as wins, count(case when up.pick!=ws.winner then 1 end) as losses from user_picks up left join weekly_stats ws on up.week_no = ws.week_no and up.game_no = ws.game_no group by up.username"; 
foreach ($db->query($sql) as $row) 
{ 
    print $row['username'] .': '. $row['wins'] . '/' . $row['losses'] . '<br />'; 
} 
+0

那麼我應該如何創建這個觸發器?或者我如何從我的網頁運行這個? – jimmy 2014-12-08 09:16:46

+0

使用PHP連接到數據庫並執行查詢。通過PHP中的查詢循環結果來吐出結果。 – dotcomly 2014-12-08 09:19:07

+0

好的,謝謝我試用它 – jimmy 2014-12-08 09:20:27

相關問題