使用for / foreach循环更新

时间:2012-08-12 15:05:29

标签: php mysql loops for-loop

我在更新部分脚本时遇到了一些问题。

我有一个网页,用户可以在每个用户旁边标记复选框,他们希望通过其他用途“回收”。

我将用户ID存储在如下数组中:

$refsid= explode(',',$_POST['referralIds']); 
$users->_recycleMulti($membershipData['recycle_price'], $userdata['username'], $refsid);

然后,在我的_recycleMulti函数中,我希望进行实际的回收。是否只是一个已被选中的用户,或者10.因此,我使用的是for loop.

但它仍然只是更新一个用户。

我的_recycleMulti函数如下所示:

function _recycleMulti($value, $username, $referrals_array){


        for($i=0; $i < count($referrals_array); $i++){

            mysql_query("do the update here");

        }
        return "success!"; 

    }  

var_dump($_POST['referralIds']);正在返回:

string(3) "4,5" 

这是正确的,因为我检查了两个复选框。 ID与数据库中的ID匹配。

var_dump($refsid);  is returning:

array(2) { [0]=> string(1) "4" [1]=> string(1) "5" }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以将for循环更改为foreach,尽管它不会对执行产生影响

foreach ($referrals_array as $refid) {
    echo "Updating referral ".$refid.".<br>\n";
    // execute SQL code here using $refid value
}

可能会帮助您查看正在执行的内容,或者如果这些内容不能正常运行,请回显您的SQL语句,并确保它正在按照您的想法执行操作。