针对一个多行文本表单,一行一条数据,一次提交直接入库多条数据,方法如下:

多个提交和一个提交的道理是相同的,只是一些细节上要注意。 提交一个表单是:
<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=name1><input type=text name=sex1><input type=text name=age1><input type=text name=address1> <input type=text name=name2><input type=text name=sex2><input type=text name=age2><input 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=name><input type=text name=sex><input type=text name=age><input type=text name=address> <input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address> <input type=text name=name><input type=text name=sex><input type=text name=age><input type=text name=address> </form>
PHP代码是:
for ($i=0;$i<count($_POST["name"]);$i++){     if ($_POST["name"][$i]!='')     {         $sql="insert into tab(...) values ($_POST[...][$i])";//省略字段和值 mysql_query($sql);     } }
这样表单可以写任意多行,PHP里面是数组,能够自动获取有多少数据。


版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。