2017-04-11 93 views
1

我正在努力使用下面的表單來發布和處理我的php腳本。目前它只顯示那些被選中的。我需要它傳遞值爲0的地方沒有選擇複選框。然後我需要我的PHP遍歷所有行並通過sql進行更新。用多個複選框更新多行

<form action="update.php" method="post"> 
    <table class="table table-striped"> 
     <tr class="name_5"> 
     <input type="hidden" name="id[]" value="5" /> 
      <td> 
       iD: 5 Name: Sam 
      </td> 
      <td> 
       <input type="checkbox" name="block1[]" value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block2[]" value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block3[]" value="1" /> 
      </td> 
      <td> 
       <textarea name="notes[]" cols="20" rows="1"></textarea> 
      </td> 
     </tr> 
     <tr class="name_4"> 
     <input type="hidden" name="id[]" value="4" /> 
      <td> 
       ID: 4 Name: Joanne<br/> 
      </td> 
      <td> 
       <input type="checkbox" name="block1[]" value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block2[]" value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block3[]" value="1" /> 
      </td> 
      <td> 
       <textarea name="notes[]" cols="20" rows="1"></textarea> 
      </td> 
     </tr> 
     <tr class="name_2"> 
     <input type="hidden" name="id[]" value="2" /> 
      <td> 
       ID: 2 Name: Fiona<br/> 
      </td> 
      <td> 
       <input type="checkbox" name="block1[]" checked value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block2[]" checked value="1" /> 
      </td> 
      <td> 
       <input type="checkbox" name="block3[]" value="1" /> 
      </td> 
      <td> 
       <textarea name="notes[]" cols="20" rows="1"></textarea> 
      </td> 
     </tr> 
    </table> 
</form> 

我一直在使用使用0值的每一行隱藏字段嘗試,但並沒有工作,加上我寧願處理它更優雅。

+0

你可以嘗試使用'類型=「無線電」' –

+0

@MancharyManchaary,以及它如何幫助? –

回答

1

當過你正在處理checkbox記住一兩件事,僅選擇具有形式提交這些checkbox提交。因此,要發送所有複選框而不考慮checked/unchecked,請使用Jquery遍歷每個複選框,並檢查複選框是否已選中,然後將1推入數組中,否則將0發送到服務器並在服務器上處理它。

1

未經檢查的複選框在相關數據庫列中必須具有默認值'0'或'false'或null等。

複選框是0/1值,因此您可以使用ENUM類型的列,默認值爲'0'。這是針對數據庫中的複選框相關列的。

所以當你不更新它們,因爲它們沒有被髮布,它們仍然會有它們的默認值。

但是,如果你仍然希望他們能夠在形式張貼提交,你可以使用回答這個鏈接Post the checkboxes that are unchecked