PHP多行表单,自动化MySQL输入

时间:2013-03-06 12:55:18

标签: php mysql forms input

我创建了一个PHP站点,它基本上是一个包含MySQL输入形式的站点。

这就是它现在的样子。非常简单,填写并单击“提交”将数据输入数据库。

http://i.imgur.com/ieMf39f.jpg

这就是我希望它的外观和工作方式。我只能用一个提交按钮向数据库发送多个查询。

http://i.imgur.com/IdqcJjb.jpg

所以问题是......如何以最简单有效的方式解决这个问题?

2 个答案:

答案 0 :(得分:2)

在每个字段的名称中,使用例如name =“opb1 []”,这样它就会变成一个数组(opb = array)。

然后你可以这样做:

foreach($opt1 as $k => $_opt1)
    if(isset($opb2[$k]) && isset($opb3[$k]) .....etc) {
        // use each row e.g. $opb2[$k]...
    }
}

答案 1 :(得分:0)

您的HTML应如下所示:

<input name="name[]" />
<input name="obp1[]" />
<input name="obp2[]" />
   <br />
<input name="name[]" />
<input name="obp1[]" />
<input name="obp2[]" />

和你的PHP:

for($i = 0; $i < count($_POST['name']); $i++) {
  // verify if all fields are completed
  if(empty($_POST['name'][$i]) || empty($_POST['obp1'][$i])) { // all fields here
    // add an error
  } else {
    $mysqli->query("INSERT INTO my_table VALUES ('" . $mysqli->real_escape_string($_POST['name'][$i]) . "', '" . $mysqli->real_escape_string($_POST['obp1'][$i]) . "')");
  }
}