gpt4 book ai didi

PHP/SQL 如何使我的查询包含在另一个表中还没有记录的结果?

转载 作者:行者123 更新时间:2023-11-29 20:57:43 26 4
gpt4 key购买 nike

我有 2 个执行房间搜索的 php 代码。用户指定否。床位数量、入住日期和退房日期。第一个代码检索具有相应床位数量的所有房间。第二个代码检查房间是否有现有预订,如果有,并且预订日期与显示房间的用户输入日期不冲突,如果没有现有预订,则仅显示。

我的第一个 PHP 代码:

$sql = "SELECT rooms.rid, beds, orientation, price FROM rooms
WHERE (beds = $nOfBeds)";
if ($rOrientation != "") {
$sql .= " AND orientation = '$rOrientation'";
}

$results = mysqli_query($conn, $sql)
or die ('Problem with query' . mysqli_error($conn));

我的第二个 php 代码:

<?php
while ($row = mysqli_fetch_array($results)) {

$sql2 = "SELECT rid, checkin, checkout FROM bookings";

$results2 = mysqli_query($conn, $sql2)
or die ('Problem with query' . mysqli_error($conn));

$row2 = mysqli_fetch_array($results2);

if ($row["rid"] == $row2["rid"]) {
if (($cInDate < $row2["checkin"] && $cOutDate <= $row2["checkin"]) ||
(($cInDate >= $row2["checkout"] && $cOutDate > $row2["checkout"]))) {
?>
<tr>
<td><?php echo $row["rid"]?></td>
<td><?php echo $row["beds"]?></td>
<td><?php echo $row["orientation"]?></td>
<td><?php echo $row["price"]?></td>
</tr>
<?php }
}
} ?>

目前,它在过滤冲突日期方面工作正常,但它也过滤掉没有现有预订的房间。我使用此代码遇到的另一个问题是,它似乎不适用于具有相同房间 ID (rid) 的多个预订,因此现在它仅过滤有关第一次预订的日期。

这是我的预订表:http://imgur.com/DGOko1f

这是房间表:http://imgur.com/ED5KFES

最佳答案

您可以使用,

if($result != NULL) {
// Execute code
} else {
// Give NULL values or error
}

另一种方式是,if(count($result) > 0)

这样您就可以获得无错误的结果。

关于PHP/SQL 如何使我的查询包含在另一个表中还没有记录的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37498474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com