-1

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

我有一个网页,用户可以在其中标记他们想要“回收”以用于其他用途的每个用户旁边的复选框。

我将用户 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" }

我究竟做错了什么?

4

1 回答 1

0

您可以将 for 循环更改为 foreach 虽然它不应该对执行产生影响

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

这可能会帮助您了解正在执行的操作,或者如果这还不够好,请回显您的 SQL 语句并确保它正在执行您认为的操作。

于 2012-08-12T15:31:04.277 回答