如何使用PHP中的单个提交提交多行表单数据

时间:2014-06-28 09:10:24

标签: php html mysql

这是我的代码。 我创建了一个包含多行的表单,这些表单将在一次提交中更新。 我在论坛上搜索,但没有找到确切的答案。

<form method='POST' action='demo24.php'>
  <table  width="500px" height="500px">
    <tr><th>SETNAME</th><th>POST</th></tr>
    <?php
      $query = "SELECT name,setid FROM `set` LIMIT 0 ,10";
      $result = mysql_query($query) or die(mysql_error()."[".$query."]");
      while($row = mysql_fetch_array($result))
      {
        $output .='<tr><td><input type="text" value="'.$row['name'].' '.$row['setid'].'" name="name'.$row['setid'].'">'.$row['name'].'</td><td><input type="checkbox" value="'.$row['setid'].'" name="setid"></td></tr>';
      }  

      echo $output;
    ?>


    </td><td><input type='submit' value='submit' name='submit'/></td></tr>
  </table>        
</form>

2 个答案:

答案 0 :(得分:1)

请注意,您可以在多个输入字段中使用name[]之类的内容将数组发送到服务器:

<input type="text" name="row[]" />
<input type="text" name="row[]" />

在服务器端$_POST['row']将如下所示:

Array (
  [0] => first_input,
  [1] => second_input
)

您可以对所有字段(idrow等)执行此操作,然后循环浏览$_POST['id']等以将所有条目重新组合在一起。一定要验证足够的,即确保那些字段确实是数组,所有字段都是相同的大小等。


不推荐使用PHP系列的PHP,对它的支持将会消失。请查看PDOMySQLi来执行SQL代码。

答案 1 :(得分:0)

如果您的表单方法为&#39; post&#39;然后你可以使用这段代码:

if(isset($_POST['submit']))
{
   $query = "SELECT name,setid FROM `set` LIMIT 0 ,10";
   $result = mysql_query($query) or die(mysql_error()."[".$query."]");
   while($row = mysql_fetch_array($result))
   {
      $id = $row['setid'];
      $name = $_POST['name'.$id];
     //here will be you update code. set value will be $name and update where setid = $id
   }
}