2013-04-04 18 views
0

我有以下查詢:同時更新SQL表遞歸發送電子郵件

UPDATE 
    users AS t 
    LEFT JOIN (
     SELECT 
      user 
     FROM 
       facebook, users 
     WHERE 
      facebook.user = users.id 
     GROUP BY 
      users.id 
    ) AS m ON 
     m.user = t.id 
SET 
    t.coins =t.coins+200 
WHERE 
    m.user = t.id 

我需要幫助創建一個PHP腳本必須實際發送郵件到我的用戶更新的硬幣數量。電子郵件字段在用戶表中。

謝謝!

+0

從您的數據庫發送電子郵件?然後,我們應該知道** WHAT **數據庫(以及您使用的是哪個版本)。或從你的應用程序?那麼我們需要知道**你使用的編程語言是什麼,以及你想如何發送電子郵件...... – 2013-04-04 11:16:57

+0

我需要一個使用mail()函數的php腳本。 MySQL客戶端的版本是5.5.23。謝謝! – 2013-04-04 11:30:35

回答

1

選擇你需要的所有行:

SELECT 
t.id, t.email 
FROM 
    users AS t 
    LEFT JOIN (
     SELECT 
      user 
     FROM 
       facebook, users 
     WHERE 
      facebook.user = users.id 
     GROUP BY 
      users.id 
    ) AS m ON 
     m.user = t.id 
WHERE 
    m.user = t.id 

,然後更新PHP循環中的每一行,你也可以發送郵件。

UPDATE

因此,讓我們想象$result是VAR與結果陣列。

foreach($result as $res){ 
    $sql = 'UPDATE users SET coins = coins+200 WHERE id = '.$res['id']; 
    mail(/*WITH YOUR PARAMS*/); //email in $res['email']; 
} 
+0

謝謝,但我會很感激,如果你能幫我寫這個PHP代碼... – 2013-04-04 12:56:46

+0

你用PHP寫任何mysql查詢嗎? – Narek 2013-04-04 13:03:24

+0

是的......但並不複雜 – 2013-04-04 21:31:36

相關問題