gpt4 book ai didi

PHP POST 通过 AJAX 循环通过 javascript 发送对象文字

转载 作者:行者123 更新时间:2023-11-29 13:53:28 25 4
gpt4 key购买 nike

嘿,我通常通过这样做来获取ajax发送的js对象文字:

$_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'];

我可以做很多if而不是else来检查每个是否都有数据,但必须有更好的方法吗?

因此,如果我正在进行批量 mySQL 更新,那么我必须对上面有值的每个复选框运行查询?还有一种更好的方法可以一次性更新所有需要的记录吗?

$result = mysql_query("UPDATE userAccount SET Accept = 1 WHERE ID = " . $chk1 . "");

谢谢!

更新

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");

最佳答案

您可以在 IN SQL 子句中传递 id。因此,例如您将拥有:

UPDATE userAccount SET Accept = 1 WHERE ID in $idCollection

其中 $idCollection 将是检查的所有 ID,用逗号和括号分隔,如下所示:

(1, 2, 3)

对于循环,您可以像在任何其他数组中一样迭代 $_POST 数组,并使用读取的值填充此字符串。

希望有帮助

关于PHP POST 通过 AJAX 循环通过 javascript 发送对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com