php 多个 数组 怎样存入数据库

php 多个 数组 怎样存入数据库,第1张

订单提交后:

$_POST['list'] 的值会是:

array(a,b,c,d,e,a,b,a,b,c,d)

根本就没有使用价值,即无法分清楚是这些选项是属于哪个名称的。所以,要么用js先在提交之前加工一个“list”的值,或者改交下list的名称,如下:

<input type="checkbox" name="list[]" value="a" />

改为:

<input type="checkbox" name="list_sina[]" value="a" />

其他的按些修改。

在提交之后的处理代码如下:

$title = isset($_POST['title']) ? $_POST['title'] : array()

$insert_data = array()

foreach($title as $row){

$name = trim($row)

$list = isset($_POST['list_'.$name]) ? implode(',',$_POST['list_'.$name]) : ''

$insert_data[] = "('$name','$list')"

}

if(!empty($insert_data)) $mysql->query('INSERT INTO mysql_table(name,list)VALUES '.implode(',',$insert_data))

这样的数据库查询语句为:

INSERT INTO mysql_table(name,list)VALUES ('sina','a,b,c,d,e'),('qq','a,b'),('ifeng','a,b,c,d')

首先你要学会查错,最简单的方式就是打印出来看。你可以在第一个变量$arr_ip下一行,把这个变量打印出来看是不是数组,如果是数组,直接存入数据库时就是array,你可以把数组json_encode一下,这样存入进去的就是序列化后的字符串了,但你拿出来时也要json_decode一下,把字符串还原成数组。

这保存的是不同行的内容,不能直接保存。

要做成行的形式保存。

$data=array() //创建临时变量用以存储数据

$length=count($你的array名['cwidth']) //数你有多少行数据

for($i=0$i<=$length$i++){ //循环

$data[$i]['cwidth']=$你的array名['cwidth']

$data[$i]['cheight']=$你的array名['cheight']

}

出来的数据就像是这样:

array(2){

[0]=>array(2){

['cwidth']=>string(5) "593px"

['cheight']=>string(5) "203px"

}

[1]=>array(2){

['cwidth']=>string(5) "598px"

['cheight']=>string(5) "111px"

}

}

然后再用$db->add($data)插入数据


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9508602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存