PHP如何通过复选框多行表单

时间:2015-05-04 04:05:16

标签: php html forms

我当前的表单包含许多行(100个),每行包含用户可以选择的多个值,并且每个行都单击“提交”。我想通过使用带有一个提交按钮的复选框为他们提供一次提交多行的选项。

我目前的代码是:

get ':klass/:id', constraints: { klass: /\D*/ }

如您所见,每一行都是自己的形式。如果我使用复选框而不是单独提交,我想我应该只使用一种形式?我从哪里开始? <tr> <form id='form$y' action=".htmlspecialchars($_SERVER["PHP_SELF"])." method='post''/> <input type='hidden' form='form$y' name='id' value='$id' /> <td> <input style='height:18px' form='form$y' type='date' name='date value='$date'/> </td> <td> <select name='status' form='form$y' required/> <option>$status</option> <option value='option1'>option1</option> <option value='option2'>option2</option> </select> </td> <td> <input form='form$y' type='text' name='comment' value='$comment'/> </td> <td> <input type='submit' value='Save' /> </form> </td> </tr>"; 按钮属于哪个?

我想我应该用以下内容替换submit列:

submit

如果有人可以给我一个例子(基于我的代码)我应该如何运作,我感激不尽。我确实已经阅读了那些已经存在的内容,但我无法完成任何工作。

2 个答案:

答案 0 :(得分:0)

使用表单

保留提交按钮

在PHP中

if(!empty($_POST['check_list'])){
   // $_POST[check_list] will be an array with selected values only. 
   // Do whatever you want do with the $_POST[check_list] array. 
}

答案 1 :(得分:0)

使用一个表格 -

<强> HTML

<form method="post">
<tr>
    <input type='hidden' name='id[]' value='$id' />
    <td><input type='checkbox' name='check_list[]' value='value$y'></td>
    <td>
        <input style='height:18px' ftype='date' name='date[]' value='$date'/>                                                                                                     
    </td>
    <td>    
        <select name='status[]' required/>
          <option>$status</option>
          <option value='option1'>option1</option>
          <option value='option2'>option2</option>
        </select>
    </td>
    <td>
        <input type='text' name='comment[]' value='$comment'/>
    </td>
</tr>
<tr>.......</tr>
</form>

<强> PHP

if(!empty($_POST)) {
   if(count($_POST['check_list']) > 0 && !empty($_POST['check_list'][0])) {
       foreach($_POST['check_list'] as $key => $checked) {
          $id = $_POST['id'][$key];
          // rest of the data and processings
       }
   }
}