簡體   English   中英

PHP如何通過復選框對表單的多行

[英]PHP how to multiple rows of form via checkboxes

我當前的表單包括許多行(100s),每行都有用戶可以選擇的多個值,然后單擊每個行的提交。 相反,我想給他們一個通過使用帶有一個提交按鈕的復選框來一次提交多行的選項。

我當前的代碼是:

<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列替換為以下內容:

<td>
    <input type='checkbox' name='check_list[]' value='value$y'>
</td>

如果有人可以給我一個示例(基於我的代碼),我將不勝感激。 我確實閱讀了SO上已經存在的內容,但是我什么也做不了。

將提交按鈕與表單保持在一起

在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. 
}

使用一種形式-

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
       }
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM