echo复选框,选中时将其设置为数据库中的ID


echo checkbox that when checked sets complete to ID in database

我有一个正在回显的表,现在我在它的末尾添加了一个复选框。

我想知道什么时候勾选那个框。它可以在多个项目上进行检查,然后单击保存按钮。它将转到帖子页面,并将数据库中所有已检查ID的complete设置为"Yes"。

问题是,我不明白复选框在进入帖子页面后如何知道哪个ID是哪个。

<?php
$conduct = $_SESSION['username'];
$query = mysqli_query($con, "SELECT * FROM newworders WHERE train = 'Yes' AND conductor = '$conduct' AND complete = ' '");
echo "<table id='tb' border='1'>
          <tr class='head'>
              <th>First Name</th>
              <th>Last Name</th>
          </tr>";
while($row = mysqli_fetch_array($query)) {
    echo "<tr>";
    echo "<td>" . '<a href="orderpage.php?uid=' . $row['ID'] . '">' . $row['first'] . '</a><br />' . "</td>";       
    echo "<td>" . '<a href="orderpage.php?uid=' . $row['ID'] . '">' . $row['last'] . '</a><br />' . "</td>";
    echo "<td>"."<input type='checkbox' value='Yes' name='complete'" . "</br>". "</td>";
}
<div class='new'>
    <form action="savepending.php" method='POST'>
        <input type='submit' name ='save'/>     
    </form>
</div>

然后是帖子页面。

<?php
  if(isset($_POST['save']))
  { 
    $query = mysqli_query($con, "UPDATE newworders SET complete = 'Yes'  WHERE ")
  }
?>

我不知道WHERE部分应该放什么。我只是不明白它将如何判断哪个ID是哪个。

使您的复选框为arrray,由newworders主键索引。然后您可以通过complete进行迭代。PHP数组是关联的,因此您将只拥有与复选框一样多的元素。