php 把数组插入数据库

问题在图片上~

第1个回答  推荐于2016-11-03
lxydjx 正解,我来详细补充一下吧。未经测试、、、

//初始化
$sql = array();

// 从 a.php POST 过来的值
$_POST["xinxi"] = "20-2,19-1,18-1";

// 拆分为 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);

// 循环数组
for($i = 0; $i < count($post_data); $i++) {
// 再次拆分每一条信息为 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);

// 将每一条信息添加到 $sql 数组中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}

// 用 , 连接,转换为 string
$sql = implode(",", $sql);

// 插入数据库
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");本回答被提问者和网友采纳
第2个回答  2012-10-16
<?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函数
?>
第3个回答  2012-10-16
用explode(',',$_POST['XINXI']) 这样得到有多少个商品

然后再循环得到的商品 再用 “-” 切割 得到 id 和数量

php怎么操作才能把这个二维数组加进数据库里面
可以按照 ly4885806 的方法 序列化成字符串插入数据库,不过这个只能插入一个字段不循环如果你的数据是需要插入多个行和字段的话只能循环了$Array = Array ( [0] => Array ( [0] => 张三 [1] => 70 ) [1] => Array ( [0] => 李四 [1] => 80 ) [2] => Array ( [0] => ...

php中 二维数组插入数据库
sql = "insert into users set username= '" . $info['username'] . "',password = '" . $info['password'] . "' email ='" . $info['email'] . "'";\/\/这里是插入数据库的语句 }

PHP如何将下面数组遍历,插入数据库
有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile 还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,可以很简单的实现大批量数组数据的一次性插入。[php] view plaincopy statement = "INSERT INTO table (title, type, customer...

PHP中如何把一个数组中的数据取出来并插入到数据库中
sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';主要就是拼接values后面的内容,一个括号一条数据,拼接完执行数据库插入操作就行了;如果数据量很大,注意每次拼接的sql不要太长了,数据库执行的sql也是有长度限制的 ...

thinkphp 多维数组,变成可以插入数据库里的一维数组啊,请教~~~求助...
新数组foreach ($data as $vo) { \/\/ $data是原数组 $temp = $vo; unset($temp['busername']); foreach ($vo['busername'] as $v) { $temp['busername'] = $v; array_push($result,$temp); }}你测试一下看看对不对,有问题请反馈 ...

thinkphp 二维数组怎么插入数据库
219 => array('a' => 1,'b' => 3456,'c' => '广州天河','d' => 98765 ));foreach ($data as $k => $v) { \/\/ 循环保存每一条值 map = array();map['k'] = $k; \/\/ 保存216 这个键名 map['a'] = $v['a'];map['b'] = $v['b'];map['c'] = ...

php sql 循环插入数据库语句问题
<?php for($i=0;$<=100;$i++){ sql = 'INSERT INTO `***`.`sdb_omms_omproject` (`a`, `b`, `c`, `d`, `e`, `f`) VALUES ('1', '2', '3', '4', '5', '6), ('A', 'B', 'C', 'D', 'E', 'F');'mysql_query($sql );} ?> 这样循环就可以插入1...

PHP 如何把一个数组array(a=>1,b=>2);改写成变量$a=1;$b=2; 以便用来...
用extract函数可实现把数组元素抽出成变量。<?php array=array('a'=>1,'b'=>2);extract($array);echo "a is $a, b is $b";=== a is 1, b is 2

...分割后数组元素数量不定,插入数据库处理的问题?
第一种方法。分割字符串,对于不足数量的插入的时候补空字符串。第二种方法。采用一个字段放置字符串。读取的时候再去分割。比如存储 “苹果|香蕉”读取的时候再以“|”来进行分割 第三种方法。修改数据库,新建一个标签表,单独存储标签。这种可以方便查询等以后的其他操作 ...

怎么把netflow v9的数据插入数据库
怎么把netflow v9的数据插入数据库 表明默认当前load_model('xxxx')模块所在表名xxxx 若要指定表名 则:操作在mysql.class.php中$this->db->select(...)1、查询 this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') 返回结果集数组...

相似回答