为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用具有相同键但多个值的http post将数据发送到php文件api?

如何使用具有相同键但多个值的http post将数据发送到php文件api?

PHP
慕婉清6462132 2023-07-08 21:55:27
我想使用 http POST 将具有相同密钥的多个值从 flutter/dart 发送到 php api。但我不知道该怎么做。我这几天一直在寻找,但仍然找不到答案。我脑子里的想法是这样的:    void changeStatus(){      var url = "http://url";      http.post(url, body: json.encode({        "id": ["31","32"]      }));    }在 php 文件中看起来像这样:$id = array();    for( $i=0 ; $i < count($_POST['id']) ; $i++ )    {        $id[$i]['id'] = $_POST['id'][$i];    }    for( $i=0 ; $i < count($_POST['id']) ; $i++ )    {        $queryResult = $connect->query("UPDATE someTable SET someField = 'yes' WHERE idField ($id[$i]['id'])");    } 上面的代码正是我想象的,因为我不知道代码中应该如何实现。因此,如果有人了解如何做到这一点,那将会非常有帮助
查看完整描述

2 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

终于我能弄清楚了。我不知道这是否是最好的解决方案,但对我来说它有效。我只需要像这样循环 http.post :


void changeStatus(){

    List listId = ["31","32"];

    var url = "http://url";

    for (var i = 0; i < listId.length; i++) {

    http.post(url, body: {

        "id": listId[i],

      });

    }

  }

然后在php文件中就像这样:


$id = $_POST['id'];

$queryResult = $connect->query("UPDATE someTable SET someField = 'yes' WHERE idField = '".$id."' ");



查看完整回答
反对 回复 2023-07-08
?
PIPIONE

TA贡献1829条经验 获得超9个赞

您可以使用 ajax 调用将这些 id 传递到 PHP 页面,其中您的 id 需要执行查询操作。


<script>

      function changeStatus(){

                    

                    var url = "http://localhost/update.php";

                    $.ajax({

                    type: "POST",

                    url: url,

                    dataType: 'json',

                    data: {

                        id: ["31","32"],

                    },

                    success: function(response) {

                        console.log(response);

                        //here you can get response if you send from php-end

                    },

                    error: function(xhr) {

                        //do something on error

                    },

                    complete: function(){

                        //do something on complete

                    }

                });

            }

      </script>

现在在update.php文件中


    $ids = isset($_POST['id']) ? $_POST['id'] : [];


    foreach( $ids as $id )

    {

        $queryResult = $connect->query("UPDATE someTable SET someField = 'yes' WHERE idField $id");

    

    }


查看完整回答
反对 回复 2023-07-08
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信