Php 选中复选框时选择正确的值

Php 选中复选框时选择正确的值,php,html,mysql,Php,Html,Mysql,我有一个从和SQL表生成的日期列表: <form action="deleteMilestone.php" method="GET"> <label class="boldLabel">Project Milestone Dates:</label><br><br> <div class="dateContainerLeft"> <?php

我有一个从和SQL表生成的日期列表:

<form action="deleteMilestone.php" method="GET">
        <label class="boldLabel">Project Milestone Dates:</label><br><br>
        <div class="dateContainerLeft">
            <?php
            $result2 = $conn->prepare("SELECT mDate FROM datetable WHERE pId 
                     = '$pId' AND mDate <> '0000-00-00'");
            $result2->execute();
            $rows2 = $result2->fetchAll(PDO::FETCH_ASSOC);
            foreach ($rows2 as $row2) {
                $mDate = $row2['mDate'];
                ?>
                <input type="hidden" name="mDate" value="<?php echo $mDate; 
               ?>">
                <input type="checkbox" name="mDate"><?php echo $mDate; ?>
                <br>
                <input type="hidden" name="pId" value="<?php echo $pId; ?>">
            <?php } ?>
            <br><br>
            <button class="buttonMilestone" type="submit" name="milestone" 
                    value="delete">Delete Milestone Date</button>
        </div>
    </form>

mdate
需要是一个数组,此时只传递一个值(最后一个值)


然后您需要在中使用
而不是简单的equals重写查询


另外,请阅读。

我不明白为什么存在值为mDate的隐藏输入,因为复选框元素可以获得值属性

<input type="checkbox" name="mDate[]" value="<?php echo $mDate; ?>">
如果我误解了什么,请纠正我


祝你好运。

复选框是否应该有一个选中的值?如果它有一个选中的值,那么它不会在页面上显示为选中的复选框,你应该在复选框名称中使用HTML数组,如
name=“mDate[]”
似乎表单将包含多个名为
mDate
pId
的元素(因为循环,对于查询返回的每一行)。对于
mDate
,每一行都有一个“隐藏”和一个“复选框”。另外,删除了数组中的最终值,因此删除了日期[10]而不是日期[5],我想我需要隐藏的值来将数据从一页传送到另一页不需要,关于这些内容有详细的指南,
<input type="checkbox" name="mDate[]">
<input type="checkbox" name="mDate[]" value="<?php echo $mDate; ?>">
<input type="checkbox" name="mDate[]" value="<?php echo $pId.':'.$mDate; ?>">
$data = explode(':', $_GET['mDate'][0]);
$pId = $data[0];
$mDate = $data[1];