在生成的表单元素以及之前的元素的名字加上中括号即可实现
攀枝花ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
比如: name="contents" = name="contents[]",最后提交获取到的数据是一个数组形式的。
代码如下:
form name="form1" method="post" action="index.php?action=ok"
1.input type="text" name="contents[]" value=""
2.input type="text" name="contents[]" value=""
3.input type="text" name="contents[]" value=""
input type="submit" value="提交"
/form
?php
if($_GET['action'] == 'ok'){
$contents = $_POST['contents'];
print_r($contents);
}
?
得到的数据是数组形式的,遍历即可。
不知道的情况,先获取打印出来,你就知道了。
获取出来的是个数组,也就是相同名字归为一个数组,然后你通过 循环一个个的赋值插入即可。
类似:
获取到的值: $arr = array( 'xmuser'=array(0='x',1='y') , 'bumen'=array(0='x1',1='y'1) );
计算数组内最大值,直接 count( $arr['xmuser'] ) ;
他是按顺序来接收数值的,所以,按照顺序:0、1、2、3 ... 赋值变量插入即可。 或者你可以改成MySQL 的 批量插入方法,一样。 量不大都可实现。 MySQL 批量插入是有一个峰值的。
for 或 foreach 直接循环 就行。 自己练着写吧。
input的name用数组,比如:
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
提交后$_POST['name1']、$_POST['name2']都会以数组的方式储存着3行tr的每个值,通过foreach可以把它们逐行添加进数据表
没明白你什么意思,你提问的太乱了,是不是想写6个Input 然后提交只要有内容就入库,没有就跳过???
如果是这样的话,你没有必要写6个表单,写一个表单里面放6个 input 标签就可以了,每个input的 属性 : name 保持一致,提交过去后是一个二维数组,直接迭代入库。
多个提交和一个提交的道理是相同的,只是一些细节上要注意。
提交一个你懂了,我还是提一下,表单是:
form
input type=text name=name
input type=text name=sex
input type=text name=age
input type=text name=address
/form
PHP存数据库的语句是:
$sql="insert into tab(...) values ($_POST[...])";//省略字段和值
那么多个提交的方法一,表单是:
form
input type=text name=name1input type=text name=sex1input type=text name=age1input type=text name=address1
input type=text name=name2input type=text name=sex2input type=text name=age2input type=text name=address2
/form
PHP存数据库语句是:
$sql="insert into tab(...) values ($_POST[...1])";//省略字段和值
mysql_query($sql);
$sql="insert into tab(...) values ($_POST[...2])";//省略字段和值
mysql_query($sql);
上面方法一写的例子是两条,多条的方法相同,技巧就是输出表单使用JS的循环,存盘的PHP代码也可以循环,并且能够判断为空的就不提交,比如表单20条,只填了5条,就只存5条到数据库。
方法二是使用数组,表单:
form
input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address
input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address
input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address
/form
PHP代码是:
for ($i=0;$icount($_POST["name"]);$i++)
if ($_POST["name"][$i]!='')
{
$sql="insert into tab(...) values ($_POST[...][$i])";//省略字段和值
mysql_query($sql);
}
这样表单可以写任意多行,PHP里面是数组,能够自动获取有多少数据。
$sql = "insert into myorder (pid,amount,ordernumber,time,uid,status) VALUES ";
foreach ($ShoppingCart as $k = $v){
$sql .= "(".$v['pid'].",".$v['amount'].",'$ordernumber','$time','$uid','$status'),";
$sql = substr($sql, 0,strlen($sql)-1);
$res = mysql_query($sql,$conn);
if(!$res) return false;
}