嘿,我通常抓住AJAX发送JS做这个物件常:PHP POST通过JavaScript发送对象字面
$_POST['called']
$_POST['chk1']
etc etc...
但现在我有我不能似乎找到了一个问题解决方案。
根据多少复选框被选中,我环路(使用JS)来查看所有检查箱子,并将它们添加到最终看起来像这样的JS对象:
doBulk = {
called: "Approved",
chk0: "1789156857",
chk2: "5134465673753",
chk3: "234123554646",
chk10: "25511545542"
};
现在chkXX能是0-19的任何数字(因此每页20个复选框)。我发送到我的PHP页面很好,但我不确定如何去循环获取所需的数据来更新数据库。
$chk1 = $_POST['chk0'];
$chk2 = $_POST['chk1'];
$chk3 = $_POST['chk2'];
$chk4 = $_POST['chk3'];
$chk5 = $_POST['chk4'];
$chk6 = $_POST['chk5'];
$chk7 = $_POST['chk6'];
$chk8 = $_POST['chk7'];
$chk9 = $_POST['chk8'];
$chk10 = $_POST['chk9'];
$chk11 = $_POST['chk10'];
$chk12 = $_POST['chk11'];
$chk13 = $_POST['chk12'];
$chk14 = $_POST['chk13'];
$chk15 = $_POST['chk14'];
$chk16 = $_POST['chk15'];
$chk17 = $_POST['chk16'];
$chk18 = $_POST['chk17'];
$chk19 = $_POST['chk18'];
$chk20 = $_POST['chk19'];
我可以做很多的如果比其他来检查,看看是否每个人都有数据,但有一定是这样做的更好的办法?
因此,如果我正在做一个批量MySQL的更新,那么我将不得不运行一个查询每个复选框,我有一个值为上面?是否还有更好的方法来更新所有需要在一个记录中的记录?
$result = mysql_query("UPDATE userAccount SET Accept = 1 WHERE ID = " . $chk1 . "");
谢谢!
UPDATE
foreach($_POST as $key => $value)
{
// $key = CHK1-20
// $value = XXXXXXXXX
$dbBuilder = $value . ", " . $dbBuilder;
}
$dbBuilder = '(' . $dbBuilder . ')';
$result = mysql_query("UPDATE userAccount SET Accept = 1 WHERE ID in $dbBuilder");
你可以再次检查我的OP,我只是用新的代码更新它,看看我是否在正确的轨道上。 – StealthRT 2013-04-30 02:02:20
是的,你是!让我知道这是否可行 – 2013-04-30 02:06:08
此外,请确保您添加了正确的ID,因为您正在遍历整个$ _POST数组,您可能会得到您不期望的值 – 2013-04-30 02:07:16