基本上,我试图显示有关用户列出的内容的信息
BookID date time confirmed
确认是0或1,0未确认1已确认,因为这是一个表,这需要使用$ _GET我假设或它不会更新正确的。
目前,我已将此列出事项
<?php
while($row = mysqli_fetch_array($result))
{ ?>
<tr>
<td><?php echo $row['BookID']?></td>
<td> <?php echo $row['date']?> </td>
<td> <?php echo $row['time']?> </td>
<td> <input type="checkbox" name="Confirmed" value="1" <?php echo ($row['Confirmed'] == 1) ? 'checked="checked"' : ''; ?>/> </td>
<td><a href="delete.php?BookID=<?php echo $row['BookID']; ?>">Delete</a></td>
<td><a href="update.php?BookID=<?php echo $row['BookID']; ?>">Update</a></td>
</tr>
</table>
update.php包含此
<?php
// Your database info
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'smithrwg_database';
$Confirmed = $_POST['Confirmed'];
if (!isset($_POST['Confirmed']))
{
echo 'No ID was given...';
exit;
}
$con = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($con->connect_error)
{
die('Connect Error (' . $con->connect_errno . ') ' . $con->connect_error);
}
$sql = mysql_query("UPDATE tbl_booking SET Confirmed = '$Confirmed' WHERE BookID = ?");
//$sql = "UPDATE tbl_booking SET Confirmed='$Confirmed' WHERE BookID == ?";
if (!$result = $con->prepare($sql))
{
die('Query failed: (' . $con->errno . ') ' . $con->error);
}
if (!$result->bind_param('i', $_GET['BookID']))
{
die('Binding parameters failed: (' . $result->errno . ') ' . $result->error);
}
if (!$result->execute())
{
die('Execute failed: (' . $result->errno . ') ' . $result->error);
}
if ($result->affected_rows > 0)
{
echo "The ID was updated with success.";
}
else
{
echo "Couldn't update the ID.";
}
$result->close();
$con->close();
主要关注$ sql,因为它实际上并没有从get函数中获取id。
复选框从数据库中获取值以查看是否应该检查它,我希望能够再次单击它并“取消确认”或确认它是否没有勾选。
答案 0 :(得分:0)
您在表单标记中使用了什么方法属性?如果你使用GET,那么使用GET来获取它。如果您使用POST,则使用POST。顺便说一句,首先尝试回显所有已发布的变量,以便您知道正在传递正确的变量。它总是一个很好的调试方法。希望这可以帮助。谢谢。