更新用户';s数据库中的记录(按组)


Updating Users's Records in Database By Group

我有这个表:tbl_module_bid

图像:

https://i.stack.imgur.com/4hQBN.png

你看到的用户:Ali2,Ali,blackbone,dickpace,mhmd让我们为它们中的每一个调用$player和我想在中使用的sql查询

mysql_query("UPDATE `bbcsystem`.`tbl_admin` SET games_played = games_played + 1 WHERE username = $player");

我尝试使用以下脚本:

//Update Game Played (not working very good):
    $num_qry        =   "Select DISTINCT *  From tbl_module_bid where  user = '".$_SESSION['LOGIN_BALANCE_FRONT']['name']."' AND module = '$mod_id'  order by bid asc";
    $get_pick       =   $db->get_results($num_qry,ARRAY_A);
                foreach($get_pick as $arr_pic)
                {
                    $player = $arr_pic['user'];
                    mysql_query("UPDATE `bbcsystem`.`tbl_admin` SET games_played = games_played + 1 WHERE username = $player");
                }

好吧,我想做的是,取tbl_module_bid中的所有用户名,对于表中的每个用户,我将在另一个表中更新他的信息(玩过的游戏),我对stackoverflow和phpp真的很陌生。。请考虑帮我一个忙:)谢谢

试试这样的东西:

UPDATE tbl_admin a
INNER JOIN tbl_module_bid b on a.username = b.user
SET a.games_played = games_played + 1
WHERE b.user = $_SESSION['LOGIN_BALANCE_FRONT']['name']
      AND b.module = $mod_id

这在一个查询中完成两个查询。

如果@Filipe做对了,那么这里是一个干净的版本

<?php
$q = 'UPDATE tbl_admin AS a'
    .' INNER JOIN tbl_module_bid AS b ON a.username=b.user'
    .' SET a.games_played=games_played + 1 WHERE b.module = "'.$mod_id.'"';
$result = mysql_query($q);

不要忘记将他的答案标记为答案