大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你要学会查错,最简单的方式就是打印出来看。你可以在第一个变量$arr_ip下一行,把这个变量打印出来看是不是数组,如果是数组,直接存入数据库时就是array,你可以把数组json_encode一下,这样存入进去的就是序列化后的字符串了,但你拿出来时也要json_decode一下,把字符串还原成数组。
创新互联是一家集网站建设,酒泉企业网站建设,酒泉品牌网站建设,网站定制,酒泉网站建设报价,网络营销,网络优化,酒泉网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
订单提交后:
$_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')
直接存数组里的字符串就行了。
如$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,
读取的时候要重新组成数组的话就分割重组。
利用PHP对数组赋值时下标变量会自动递增的特点,可以很方便用循环将数据存入一个数组。例如:$arr[] = 'a'; 这条语句会将字符a存入数组变量$arr中,如果$arr不存在则会新建一个;若已存在,则将$arr数组的下标变量递增1后存入字符。也就是说,如果已有$arr[0]='a', 那么执行 $arr[] = 'b'; 后,数组其实是进行了$arr[1] = 'b' 的操作。
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的回答,有改动)