用php怎么把数组的值存进数据库

用php怎么把数组的值存进数据库,第1张

PHP的话,使用foreach循环执行sql代码即可(可能运算量较大)

直接存数组中的字符串也可以。

如:

$a="0,1,2,3"

//$a=join(",",array(0,1,2,3)) 这样也可以

mysql_query("INSERT INTO admin (monday) VALUES($a)")

这样字段monday的就是0,1,2,3

(后一种具体答案,摘自adebug的回答,有改动)

<?php

$arr = array(

0 => 1100,

1 => '天津市',

2 => 2210,

3 => '沈阳市'

)

$sql = ''

foreach ($arr as $k => $v) {

if ($k % 2 == 0) {

$no = $v

continue

} else {

$city = $v

}

echo "INSERT INTO tablename (no, city) VALUES ($no, $city)"

}

?>

结果:

INSERT INTO tablename (no, city) VALUES (1100, 天津市)

INSERT INTO tablename (no, city) VALUES (2210, 沈阳市)

sql语句已经输出的,你query下就行,按照自己的数据套吧.

上面那个回答运行不怎么对

订单提交后:

$_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')


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存