簡體   English   中英

多個用戶的更新表

[英]update table for multiple users

我希望計算表中某個用戶當前的“是”次數,然后將該結果發布到該用戶的另一個表中。 兩個表都有用戶名。 我想為每個用戶完成此操作。 我有以下內容,但無法正常工作。

$sql = $item_count = "SELECT SUM(if(strike='yes',1,0)) AS strike_total FROM weekpicks WHERE username = 'username'";
      // execute SQL query and get result
      $sql_result = mysql_query($sql) or die (mysql_error());
      if (!$sql_result) {
          echo "Something has gone wrong!";
      } 
      else {
           //loop through record and get values
           while ($row = mysql_fetch_array($sql_result)) {

        $item_result = ($row = @mysql_query($item_count)) or die(mysql_error());
        $strike_total = ($row = @mysql_result($item_result,"strike_total"));
        $strikes = ($row = $strike_total ['strike_total']);
        $username = $row["username"];


        // the following will insert number of strikes into table for each user.
        $sql = "UPDATE authorize SET strikes  = '($strikes)' WHERE username='$username'";

        //mysql_query(" UPDATE authorize SET " . "strikes = '" . ($strikes) . "' WHERE username='$username' ");
                $result = mysql_query($sql) or die (mysql_error());

一個查詢就足夠了

單用戶更新。

UPDATE authorize SET strikes  = (select count(*) from weekpicks WHERE username = '$username' and strike='yes') WHERE username='$username';

批量更新所有用戶

UPDATE authorize as A SET strikes  = (select count(*) from weekpicks B WHERE strike='yes' and A.username=B.username group by B.username)

沒那么簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM