【问题标题】:HTML Form data from checkboxes within while loop来自while循环中复选框的HTML表单数据
【发布时间】:2016-04-05 11:36:59
【问题描述】:

我在网站上有一个非常基本的日期系统,它使用 While 循环显示数据库中的日期,列出的每个日期旁边都有一个复选框。

我希望用户能够选择任意数量的日期,然后单击提交以删除这些日期或编辑这些日期。

我无法弄清楚如何在可以多次使用的 while 循环中仅使用一个复选框从多个复选框中获取数据?

这是我当前的代码:

<form action="" method="post">
   <b>Current Dates:</b> <button type="submit" id="remove_dates" name="remove_dates" class="btn btn-danger btn-sm">Remove Selected</button> 
   <hr>
   <div style="overflow-y: scroll;height:100px">
      <?
         $sqldate = "SELECT * FROM `foiu51r_calendar` ORDER BY date DESC";
         $resultdate = $conn->query($sqldate);

         if ($resultdate->num_rows > 0) {
         // output data of each row
         while($rowdate = $resultdate->fetch_assoc()) {
         $date_id = $rowdate['date_id'];
         $dates = $rowdate['date'];

         ?>
      <input type="checkbox" id="date_id" name="date_id" value="<? echo $date_id; ?>"> <b><? echo date("d/m/Y", strtotime($dates)); ?></b><br>
      <?
         }
         }
         ?>
   </div>
</form>
if(isset($_POST['remove_dates'])){
   $date_id = $_POST['date_id'];
}

【问题讨论】:

  • 短标签!不要使用它们! See this

标签: html forms checkbox while-loop


【解决方案1】:

我相信如果你将这个:[],添加到 name 属性,就像这样:&lt;input type="checkbox" id="date_id" name="date_id[]" value="&lt;? echo $date_id; ?&gt;"&gt;。然后它将作为一个数组处理,您可以使用foreach 循环遍历该数组。并将其插入数据库(或任何你喜欢的)。

【讨论】:

  • 第一次完美运行!非常感谢!
【解决方案2】:

将名称声明为数组,如下所示:

<input type="checkbox" id="date_id" name="date_id[]" value="<? echo $date_id; ?>">.

提交时将作为数组处理, 然后,您可以循环数组的值,并为数组的每个元素使用 id 删除日期。

【讨论】:

    猜你喜欢
    • 2014-02-17
    • 2019-01-22
    • 1970-01-01
    • 2023-03-15
    • 2013-09-12
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2012-12-02
    相关资源
    最近更新 更多