最近有一個需求,前端向后臺提交json,后臺解析并且將提交的值插入數(shù)據(jù)庫中,
創(chuàng)新互聯(lián)建站于2013年開始,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、成都做網站、外貿網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元平陰做網站,已為上家服務,為平陰各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
難點
1、php解析json(這個不算難點了,網上實例一抓一大把)
2、解析json后,php怎樣拿到該拿的值
?php
require
('connect.php');
/*
本例用到的數(shù)據(jù):
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;//循環(huán)變量
//--得到Json_list數(shù)組長度
$num=count($obj["尺茄json_list"]);
//--遍歷數(shù)組,將對應信息添加入數(shù)據(jù)庫
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點抗
JSON在php中本質是字符串,直接存儲就行了。
看你的圖片,并不是一個JSON,而是一個數(shù)組,所以需要先將數(shù)組轉碼為爛大散仿彎JSON,再進行存儲。
//?使用內饑氏置函數(shù):json_encode();
$data?=?array();
$jsonString?=?json_encode($data);
你先用json_decode()函數(shù)把派告json轉換為數(shù)組,
然后從數(shù)組里面通拍逗過塵賀明鍵值(jp)把7拿出來,
最后把7存入到數(shù)據(jù)庫就可以了。
把json字符串存入數(shù)據(jù)庫,如果數(shù)據(jù)庫里面存儲的字段是鏈啟字喊喚隱符串類型或者text的話是可以直接存入的。
例如:
$sql?=?"insert?into?tablename?鄭廳(fieldname)?values?('$jsondata')";
mysql_query($sql);
這樣就好了。