Я занимаюсь этой системой бронирования номеров. Я делаю функцию подтверждения, когда на сайте есть таблица, в которой отображается имя комнаты, время начала и окончания (в формате DateTime) и статус (утверждено)., Отклонено или В ожидании (по умолчанию)) каждой записи
В последнем столбце также есть две кнопки, называемые Утвердить и Отклонить
. Что мне нужно, так это то, что когда администратор нажимает кнопки, статус соответствующей записи изменяется на'Утверждено' или отклонено '
И мой код:
<!doctype html>
<html>
<head>
</head>
<body>
<form method="post">
<?php
$con=mysqli_connect("localhost","root","","abc");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"select b.bookid,b.room,b.start,b.end,b.status
from booking
where b.start >= now()
order by b.start");
$numofrows = mysqli_num_rows($result);
if($numofrows == 0){
echo "There're no room bookings from now";
}
else{
echo "<table border='1'>
<tr>
<th>Room</th>
<th>Starting Time</th>
<th>Ending Time</th>
<th>Status</th>
<th>Approve</th>
</tr>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['room'] . "</td>";
echo "<td>" . $row['start'] . "</td>";
echo "<td>" . $row['end'] . "</td>";
echo "<td>" . $row['status'] . "</td>";
echo "<td>"
?>
<input type="submit" name="approve" value="Approve">
<input type="submit" name="reject" value="Reject">
<input type="hidden" name="id" value='<?php echo $row["bookid"]; ?>'/>
<?php
echo "</td>";
echo "</tr>";
}
echo "</table>";
}
$approve = false;
$reject = false;
if(isset($_POST["approve"])){
$id=$_POST["id"];
$approve = mysqli_query($con," UPDATE booking SET status='Approved' WHERE bookid = '$id' ");}
if(isset($_POST["reject"])){
$id=$_POST["id"];
$reject = mysqli_query($con," UPDATE booking SET status='Rejected' WHERE bookid = '$id' ");}
if($approve){
echo "approve";
}
if($reject){
echo "reject";}
?>
Там есть записи из таблицы, называемой резервированием из базы данных abc.В таблице бронирования есть упомянутые поля, а также первичный ключ «bookid». Пользователь не может видеть «bookid» на сайте
И есть две проблемы
1. Пока кнопки меняют статус на соответствующийСтроки, это только изменяет последнюю запись. Независимо от того, какая кнопка нажата, только состояние последней записи изменяется, в то время как другие не затрагиваются
Я думаю, что я установил переменную неправильно, но я не знаю какчтобы сделать это правильно
2. Хотя кнопки действительно изменяют статус последней записи на разные строки, для этого требуется два щелчка. То есть, чтобы изменить статус, мне нужно нажать кнопку «Утвердить» два раза.на «Утверждено»
Понятия не имею, почему это происходит