通过js 得到文本域的值后,我把值传递给了 隐藏域(以上这部成功)!
隐藏域的名称是“qq”下面是我的数据处理页代码<?php
$conn=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("shunfeng",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$q=($_POST[qq]);
$qq=explode(",",$q);
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale)values('$qq[0]','$qq[1]','$qq[2]','$qq[3]','$qq[4]','$qq[5]','$qq[6]')");通过explode转化为数组插入到MYSQL,只能插入表格中的一行数据。我的表格式多行的,怎么实现。为了看起来直观我把图贴上来。
图一:--隐藏域中的值就是取出这个表中每个单元格的值,值是字符串的形式。图二:
这个是我MYSQL中的字段表我的目的就是图一中的:从商品名称到金额 每一行 与图二 当中的SPMC到sa相对应。
但是EXPLODE后的数组中的值有很多,我想每7个值插入到MYSQL表中。超过7个的数据插入到第2行,超过14个的数据插入到第3行,以此类推。
隐藏域的名称是“qq”下面是我的数据处理页代码<?php
$conn=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("shunfeng",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$q=($_POST[qq]);
$qq=explode(",",$q);
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale)values('$qq[0]','$qq[1]','$qq[2]','$qq[3]','$qq[4]','$qq[5]','$qq[6]')");通过explode转化为数组插入到MYSQL,只能插入表格中的一行数据。我的表格式多行的,怎么实现。为了看起来直观我把图贴上来。
图一:--隐藏域中的值就是取出这个表中每个单元格的值,值是字符串的形式。图二:
这个是我MYSQL中的字段表我的目的就是图一中的:从商品名称到金额 每一行 与图二 当中的SPMC到sa相对应。
但是EXPLODE后的数组中的值有很多,我想每7个值插入到MYSQL表中。超过7个的数据插入到第2行,超过14个的数据插入到第3行,以此类推。
10,11,12,13,14,15,16|20,21,22,23,24,25,26|....
每7个一组,提交后先以“|”把每条记录分开,再用“,”把每个字段值分开,然后将每条记录插入。
如果你提交的数据不分组,类似:
10,11,12,13,14,15,16,20,21,22,23,24,25,26,....
那么$q=($_POST[qq]);
$qq=array_chunk(explode(",",$q),7);
你输出$qq看看就知道了,能得到7个一组的2维数组,再循环添加
insert into 表 (字段1,字段2,字段3,...) Values (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...),...
标准写法:
insert into 表 (字段1,字段2,字段3,...) SELECT 值1,值2,值3,... UNION SELECT 值1,值2,值3,... UNION SELECT 值1,值2,值3,...
10,11,12,13,14,15,16|20,21,22,23,24,25,26|....
$tt=explode("|",$qq);
for($$i=0;$i<7;$i++)
{
$t=$tt[$i];
$a=explode(",",$t);
写你插入语句}
值发过来看看!
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale,beizhu)values('$qq[0][0]','$qq[0][1]','$qq[0][2]','$qq[0][3]'。。
结果到了MYSQL中变成了这个样子:
spmc guige jldw danjia jianshu shuliang sale beizhu
Array[0] Array[1] Array[2] Array[3] Array Array Array Array
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale,beizhu)values('$qq[0][0]','$qq[0][1]','$qq[0][2]','$qq[0][3]'。。
结果到了MYSQL中变成了这个样子:
spmc guige jldw danjia jianshu shuliang sale beizhu
Array[0] Array[1] Array[2] Array[3] Array Array Array Array
值发过来
经过array_chunk 后变成:
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 24 [7] => 7 ) [1] => Array ( [0] => 8 [1] => 9 [2] => 10 [3] => 11 [4] => 12 [5] => 13 [6] => 14 [7] => 15 ) ) 说明一下:图一当中的一行是8个元素。 我一次要往MYSQL中插入8个数据
$qq=array_chunk($q,8);
for($i=0;$i<50;$i++)
{
$t=$qq[$i];
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale)values($t[0],....$t[7])")
;}
mysql_select_db("shunfeng",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$q=($_POST[qq]);
$qq=array_chunk(explode(",",$q),7);//这里可以修改分组个数
function _implode($item)
{
return "('".implode("','",$item)."')";
}
$qq_str = implode(',',array_map('_implode',$qq));
//输出 $qq_str 看看,可以不用for一次添加多条记录
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale) values ".$qq_str);
$q=($_POST[qq]);//得到1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15 (隐藏域中的值)
$qq=explode(",",$q);//得到一维数组Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 24 [7] => 7 [8] => 8 [9] => 9 [10] => 10 [11] => 11 [12] => 12 [13] => 13 [14] => 14 [15] => 15 )
$qqq=array_chunk($qq,8);//得到二维数组Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 24 [7] => 7 ) [1] => Array ( [0] => 8 [1] => 9 [2] => 10 [3] => 11 [4] => 12 [5] => 13 [6] => 14 [7] => 15 ) )
$count=(count($qq))/8; //这一步是计算出表格的行数,也就是往MYSQL当中插入几次。得出$count=2;
for($i=0;$i<$count;$i++){ //问题出在了这里!!我分析的是往MYSQL插入的次数,与二维数组有一定的规律关系。所以values('{$qqq[0][0]}' 换成values('{$qqq[i][0]}' 就不行了。MYSQL中无数据
$sql=mysql_query("insert into ruku(spmc,guige,jldw,danjia,jianshu,shuliang,sale,beizhu)values('{$qqq[i][0]}','{$qqq[i][1]}','{$qqq[i][2]}','{$qqq[i][3]}','{$qqq[i][4]}','{$qqq[i][5]}','{$qqq[i][6]}','{$qqq[i][7]}')");
}
之前的GFREE999不能继续发帖了。特地换马甲上来,我按照你的思路,成功了~非常感谢,今天又学了一招,谢谢!呵呵