javascript - 循环json数据然后用php发送到数据库

标签 javascript php jquery json

我有这样的 json 数据:

myjsondata

[

{
"id_user":"31"
},

{
"id_user":"32"
},

{
"id_user":"33"
}

]

然后我用 jquery $.post 发送数据

$.post("myaction.php",
{send: myjsondata }, function(res) {


 }, "json");

然后在 myaction.php 中,我解码 json,并想使用 foreach 将数据发送到数据库:

myaction.php

$conn = mysqli_connect( "localhost","root","","mydb");

$data = json_decode($_POST['send']);

foreach($data as $row){

    $id_user = $row->id_user;

}

mysqli_query($conn, "INSERT INTO tbl_user 
(id_user) VALUES ('$id_user') ");

当我运行该代码时,数据已插入到表中,但数据仅与最后一个 id_user 一起插入

tbl_user

id_user

33

我希望所有数据都像这样插入到表中

tbl_user

id_user

31
32
33

我该怎么做? 谢谢

最佳答案

嗯,这完全符合逻辑。让我们看一下您的代码:

$conn = mysqli_connect( "localhost","root","","mydb");

$data = json_decode($_POST['send']);

foreach($data as $row){

    $id_user = $row->id_user;

}

mysqli_query($conn, "INSERT INTO tbl_user 
(id_user) VALUES ('$id_user') "); // Here is the problem!!!!

在 foreach 循环中,您覆盖 $id_user 变量。然后仅在最后插入。所以,你可以做什么?只需将插入查询放入 foreach 循环中即可工作。

工作解决方案:

$conn = mysqli_connect( "localhost","root","","mydb");

$data = json_decode($_POST['send']);

foreach($data as $row){

    $id_user = $row->id_user;
    mysqli_query($conn, "INSERT INTO tbl_user 
    (id_user) VALUES ('$id_user') "); 

}

关于javascript - 循环json数据然后用php发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45297786/

相关文章:

javascript - 无法使用带有 Uploadify 的表单传递数据

javascript - 从 UL 中删除以编程方式添加的 LI

php - 在 symfony2 上使用 phpDocumentor

php - 使用 php 和 sql 上传多张图片

javascript - 动态创建元素后分配单击事件

javascript - fadeOut() 回调在淡入淡出完成之前完成

javascript - 如何使用 javascript 为 webkit 滚动条编写 css?

javascript - 无阻塞地下载javascript

java - 从数据库表中提取信息 php

javascript - 使用 Ajax/jQuery/PHP 发送联系表单数据