最近有一个需求, 前端向后台提交 json, 后台解析并且将提交的值插入数据库中,
难点
1php 解析 json(这个不算难点了, 网上实例一抓一大把)
2 解析 json 后, php 怎样拿到该拿的值
- <?php
- require ('connect.php');
- /*
- 本例用到的数据:
- post_array={"order_id":"0022015112305010013","buyer_id":"2","seller_id":"1","all_price":"100.00","json_list":[{"product_id":"3","product_number":"3"},{"product_id":"8","product_number":"2"},{"product_id":"10","product_number":"4"}]}
- */
- $post_array=$_POST['post_array'];
- //-- 解析 Json, 获取对应的变量值
- $obj=json_decode($post_array,TRUE);
- $order_id = $obj['order_id'];
- $buyer_id = $obj['buyer_id'];
- $seller_id = $obj['seller_id'];
- $all_price = $obj['all_price'];
- $i=0;// 循环变量
- //-- 得到 Json_list 数组长度
- $num=count($obj["json_list"]);
- //-- 遍历数组, 将对应信息添加入数据库
- for ($i;$i<$num;$i++)
- {
- $list_product_id[]=$obj["json_list"][$i]["product_id"];
- $list_product_number[]=$obj["json_list"][$i]["product_number"];
- $insert_order_product_sql="INSERT INTO tbl_order_product (order_id,product_id,product_number) VALUES (?,?,?)";
- $result = $sqlconn -> prepare($insert_order_product_sql);
- $result -> bind_param("sss", $order_id,$list_product_id[$i],$list_product_number[$i]);
- $result->execute();
- }
- //-- 添加订单信息
- $insert_order_sql="INSERT INTO tbl_order (order_id,buyer_id,seller_id,all_price) VALUES (?,?,?,?)";
- $result=$sqlconn->prepare($insert_order_sql);
- $result->bind_param("ssss",$order_id,$buyer_id,$seller_id,$all_price);
- $result->execute();
- $result -> close();
- $sqlconn -> close();
- ?>
来源: https://www.php1.cn/detail/php-af6ab1f777.html