php 把数组插入数据库
发布网友
发布时间:2022-09-15 12:19
我来回答
共3个回答
热心网友
时间:2023-10-09 03:11
lxydjx 正解,我来详细补充一下吧。未经测试、、、
//初始化
$sql = array();
// 从 a.php POST 过来的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分为 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循环数组
for($i = 0; $i < count($post_data); $i++) {
// 再次拆分每一条信息为 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 将每一条信息添加到 $sql 数组中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 连接,转换为 string
$sql = implode(",", $sql);
// 插入数据库
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");
热心网友
时间:2023-10-09 03:11
<?php
$post='20-2,19-1,18-1';//$post=$_POST['xinxi'];
$id='20121015194535123456';//添加自己生成dingid的逻辑
//分解POST信息
$post=explode(',',$post);
//遍历post数组,添加dingid数据
foreach($post as $k=>$v){
//将 20-2 分解
$post[$k]=explode('-',$post[$k]);
//在数组最前面加上dingid
array_unshift($post[$k],$id);
//重新组合为sql语句的values的子句
$post[$k]='('.implode(',',$post[$k]).')';
}
//组合sql语句
$post='INSERT INTO _table_(dingid,detailsid,buynumber) VALUES'.implode(',',$post);
//mysql_query函数
?>
热心网友
时间:2023-10-09 03:12
用explode(',',$_POST['XINXI']) 这样得到有多少个商品
然后再循环得到的商品 再用 “-” 切割 得到 id 和数量