首先你要学会查错,最简单的方式就是打印出来看。你可以在第一个变量$arr_ip下一行,把这个变量打印出来看是不是数组,如果是数组,直接存入数据库时就是array,你可以把数组json_encode一下,这样存入进去的就是序列化后的字符串了,但你拿出来时也要json_decode一下,把字符串还原成数组。
创新互联主要从事成都网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务巨鹿,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
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的回答,有改动)
订单提交后:
$_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')
php查询mysql数据库并将结果保存到数组的方法。具体分析如下:
主要用到了mysql_fetch_assoc函数
mysql_fetch_assoc语法如下:
?
1
array mysql_fetch_assoc (resource $Result_Set)
范例代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
?php
$UserName = 'abc';
$Password = '1234';
$DbHandle = mysql_connect ('localhost', $UserName, $Password);
if (!$DbHandle) {
die 'No database connection could be established.';
}
$DBName = 'w3db;
if (!mysql_select_db ($DBName, $DbHandle)) {
die 'Database could not be selected.';
}
$Query = "SELECT ISBN, Title, Author FROM articles";
$articles = mysql_query ($Query, $DbHandle));
while ($Row = mysql_fetch_assoc ($articles)) {
echo "ISBN = $Row['ISBN']br /\n";
echo "Title = $Row['Title']br /\n";
echo "Author = $Row['Author']br /\n";
}
?