php数组插入数据库
订单提交后:
$_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($titleas$row){
$name=trim($row);
$list=isset($_POST['list_'.$name])?implode(',',$_POST['list_'.$name]):'';
$insert_data[]="('$name','$list')";
}
if(!empty($insert_data))$mysql->query('INSERTINTOmysql_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')
2. PHP数组循环插入数据库问题
<?php
$arr=array(
0=>1100,
1=>'天津市',
2=>2210,
3=>'沈阳市'
);
$sql='';
foreach($arras$k=>$v){
if($k%2==0){
$no=$v;
continue;
}else{
$city=$v;
}
echo"INSERTINTOtablename(no,city)VALUES($no,$city)";
}
?>
结果:
INSERT INTO tablename (no, city) VALUES (1100, 天津市)
INSERT INTO tablename (no, city) VALUES (2210, 沈阳市)
sql语句已经输出的,你query下就行,按照自己的数据套吧.
上面那个回答运行不怎么对
3. php数组插入数据库这个功能该怎么实现
把数组转成json或其他字符串在写入数据库,不转换字符串无法写入或自由Array,我是没试过,反正我知道是无法写入,我都是转成json后在写入。
<?php
$array=array(
"data1"=>"data1",
"data2"=>array(
"data22"=>"data22",
"data222"=>"data222"
),
"data3"=>"data3"
);
$encode=json_encode($array);//数据库写入转换
$addslashes=addslashes(json_encode($array));//如果只用英文字符的话可以直接用上面,用中文或有带斜杠/,PHP写入数据库的时候会去掉斜杠/,所以addslashes函数在转换下写入
$decode=json_decode($array,true);//数据库读取转换
?>
4. PHP中如何把一个数组中的数据取出来并插入到数据库中
没用框架就直接拼接sql语句啊
$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';
主要就是拼接values后面的内容,一个括号一条数据,拼接完执行数据库插入操作就行了;
如果数据量很大,注意每次拼接的sql不要太长了,数据库执行的sql也是有长度限制的
5. php 数组存入数据库
直接存数组里的字符串就行了。
如$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,
读取的时候要重新组成数组的话就分割重组。
6. php 把数组插入数据库
<?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函数
?>
7. php将一个长array数组循环插入数据库
利用PHP对数组赋值时下标变量会自动递增的特点,可以很方便用循环将数据存入一个数组。例如:$arr[] = 'a'; 这条语句会将字符a存入数组变量$arr中,如果$arr不存在则会新建一个;若已存在,则将$arr数组的下标变量递增1后存入字符。也就是说,如果已有$arr[0]='a', 那么执行 $arr[] = 'b'; 后,数组其实是进行了$arr[1] = 'b' 的操作。
8. PHP中如何将数组插入Mysql数据库
数组是没有办法插入mysql数据库的,一般是把数组连接成字符串,存入,取出再拆分为数组输出。implode('连接符号',数组$arr);explode('拆分标志',字符串$a);
9. php怎么操作才能把这个二维数组加进数据库里面
可以按照ly4885806的方法序列化成字符串插入数据库,不过这个只能插入一个字段不循环
如果你的数据是需要插入多个行和字段的话只能循环了
$Array=Array([0]=>Array([0]=>张三[1]=>70)[1]=>Array([0]=>李四[1]=>80)[2]=>Array([0]=>王五[1]=>90)
<?
$in_value_arr=array();
foreach($Arrayas$key=>$value){
foreach($valueas$k=>$v){
$in_value_arr[]="(**,**,**)";
}
$in_value='('.implode('),(',$in_value_arr).')';
$sql="INSERTINTOtbl_name(col1,col2)VALUES{$in_value};";
}
?>
10. PHP 添加数组 到数据库
$num=count($ICNo);
for($i=0;$i<$num;$i++){
mysql_query("insert into dota(ICNo,A_Name,A_ContNo) values('$ICNo[$i]','$A_Name[$i]','A_ContNo')",$conn[$i]);
}