繁体   English   中英

查询没有返回结果时,如何显示错误消息?

[英]How can I display an error-message when there are no results returned from the query?

如果/当查询没有返回结果时,如何检测到该结果,以便显示错误消息?

id   name        no_of_rooms
1    Lake View        4
2    Royale           2
3    Sky View         6

预订

id    room_id  start       end          total_rooms
1       1      2015-09-25  2015-09-25        4
2       2      2015-09-25  2015-09-25        2
3       3      2015-09-25  2015-09-25        6

我的HTML表格:

<form action="index1.php" method="get">
From : <input type="text" name="d1" class="tcal" value="" />
To: <input type="text" name="d2" class="tcal" value="" />
<input type="submit" value="Search"/>
</form>

我的PHP代码:

<?php
include('connect.php');
if (isset($_GET["d1"])) { $d1  = $_GET["d1"]; } else { $d1=0; }; 
if (isset($_GET["d2"])) { $d2  = $_GET["d2"]; } else { $d2=0; };
$result = $db->prepare("SELECT r.id AS roomID, r.name, r.no_of_rooms,
          r.no_of_rooms - COALESCE(t.bookedRooms,0) AS available_rooms
          FROM rooms AS r
LEFT JOIN (
SELECT room_id, SUM(total_rooms) AS bookedRooms
FROM bookings
WHERE `start` < :b AND `end` > :a
GROUP BY room_id ) AS t
ON r.id = t.room_id
WHERE r.no_of_rooms - COALESCE(t.bookedRooms,0) > 0 ");

$result->bindParam(':a', $d1);
$result->bindParam(':b', $d2);
$result->execute();
for($i=0; $row = $result->fetch(); $i++){

<form method="get" action="form2.php">
 Name :<input type="text" name="d2" class="tcal" value="<?php echo $row['name']; ?>" />
available_rooms : <input type="text" name="id" class="tcal" value="<?php echo $row['available_rooms']; ?>" />
Select rooms:<input type="text" name="select" class="tcal" value="" />
<input type="submit" value="SELECT">
</form>
<?php
}
?>

使用标记为变量的计数器来检查是否执行了循环

只需追加以下

<?php
if($i==0)
echo "No record fetched";
?>

在for循环之前,请使用以下代码。 if($ result-> rowCount()> 0){在这里使用for循环} else {在这里您可以使用类似错误消息(jquery / javascript / html / php)的任何东西}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM