这是我的数据库模式,如果用户选中了复选框,则每个复选框都将添加到保留的座位中。
我上传了旧的模式,最新的模式在reservation表中有一个外键。这就是全部。
这就是ui的样子,我是通过下面的代码得到这些复选框的
if (!isset($_SESSION['id'])) {
header("Location: login.php?error=not_login");
exit();
} else {
if (isset($_POST['submit'])) {
$temp_branch_id = $_POST['branch'];
$temp_movie_id = $_POST['movie'];
$temp_screening_id = $_POST['screening'];
$seats = $mysqli->query("
SELECT seat.id
, s.row
, s.number
FROM movies m
JOIN screening n
on m.id = n.movie_id
JOIN branches b
on n.branch_id = b.id
JOIN seats s
on b.id = s.branch_id
WHERE n.id = $temp_screening_id
")
or die($mysqli->error);
}
}
?>
<div class="theatre">
<h1>Please select a seat </h1>
</div>
<form method="post" action="includes/seats_reservation.inc.php">
<div>
<input type="hidden" name="screening_id" value="<?= $temp_screening_id ?>">
<?php
$i=1;
while ($row = mysqli_fetch_array($seats)) {
?>
<input type="checkbox" name="seats_check[]" id="<?= $row['id']; ?>" value="<?= $row['id']; ?>/>
<label for="<?= $row['id']; ?>"><?php echo $row['row'].$row['number'] ?></label>
<?php if ($i%10 == 0) { ?>
</div>
<div>
<?php }
$i++;
}
?>
</div>
<button type="submit" class="btn btn-primary" name="submit">
Submit
</button>
</form>
我想要完成的是,如果复选框已经基于一个筛选id被选中,那么我想禁用它们,但是每当我查询数据时,这就是我得到的。我想让所有的座位在选定的放映时间他们的状态,如果他们是积极的或没有。
我只是关注这篇文章,但我似乎不能使它工作。我的模式有问题吗?
http://www.vertabelo.com/blog/technical-articles/a-database-model-for-a-movie-theater-reservation-system
1条答案
按热度按时间9lowa7mx1#
你的问题不远了。您所需要做的就是测试是否存在保留,并将该值作为列返回。
如果某个座位已预订,并且预订已激活,则该座位不可用,否则可以预订。
然后需要为设置参数绑定
:branchId
以及:screeningId
.