【问题标题】:PHP multiple row of forms, automating MySQL-inputPHP多行表单,自动MySQL输入
【发布时间】:2013-03-06 12:55:18
【问题描述】:

我创建了一个 PHP 站点,它基本上是一个带有一些 MySQL 输入表单的站点。

这就是现在的样子。很简单,填好后点击提交,将数据输入数据库。

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

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

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

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

【问题讨论】:

    标签: php mysql forms input


    【解决方案1】:

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

    那么你可以这样做:

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

    【讨论】:

      【解决方案2】:

      您的 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]) . "')");
        }
      }
      

      【讨论】:

      • 但是如果我只想在一半的时间内填写一半的可用表格怎么办?
      猜你喜欢
      • 2011-07-29
      • 2014-12-18
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 2018-07-03
      相关资源
      最近更新 更多