最近有一个需求,前端向后台提交json,后台解析并且将提交的值插入数据库中,
难点
1、php解析json(这个不算难点了,网上实例一抓一大把)
2、解析json后,php怎样拿到该拿的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<?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();
?>
|
投稿者信息
昵称: Hola
Email: jamcistos@outlook.com