我构建了一个代码,其中它将计算记录,其中reservation_status =' WAITING'。如果等待的总数>≥1,则它将显示记录并执行保留声明。否则它将回显"无人认领的预订清单是空的"。
这是我的代码:
<?php
$countsql = mysqli_query($conn,"SELECT count(*) FROM reservations WHERE reservation_status = 'WAITING';");
$count = mysqli_num_rows($countsql);
if ($count >= 1){
$select = mysqli_query($conn,"SELECT * FROM reservations WHERE reservation_status = 'WAITING';");
while($userrow = mysqli_fetch_array($select)){
$reservationid=$userrow['reservation_id'];
$startdate=$userrow['reservation_start_date'];
$enddate=$userrow['reservation_end_date'];
$cname=$userrow['customer_name'];
$rroom=$userrow['reserved_room'];
echo $rroom;?>
<a href="claimreservations.php?reservation_id=<?php echo $reservationid; ?>" onclick="return confirm('Are you sure to claim this reservation?');"/>CLAIM RESERVATION</a>
<?php}}else if($count = 0){
echo "The Unclaimed Reservations List is Empty".}
?>
现在,我不知道为什么它会显示记录和此错误消息:
注意:类mysqli_result的对象无法转换为int in 第6行的C:\ xampp \ htdocs \ system \ admin pages \ Reservations \ view.php
答案 0 :(得分:0)
无需执行两个查询,请在单个查询中执行,如下所示: -
<?php
$select = mysqli_query($conn,"SELECT * FROM reservations WHERE reservation_status = 'WAITING'");
if (mysqli_num_rows($select) >0){
while($userrow = mysqli_fetch_assoc($select)){
$reservationid = $userrow['reservation_id'];
$startdate = $userrow['reservation_start_date'];
$enddate = $userrow['reservation_end_date'];
$cname = $userrow['customer_name'];
$rroom = $userrow['reserved_room'];
echo $rroom;
?>
<a href="claimreservations.php?reservation_id=<?php echo $reservationid; ?>" onclick="return confirm('Are you sure to claim this reservation?');"/>CLAIM RESERVATION</a>
<?php }}else{
echo "The Unclaimed Reservations List is Empty";
}?>
答案 1 :(得分:0)
我认为它是因为mysqli_num_rows()
将返回行数,总是1
使用
$result = mysqli_fetch_array($countsql, MYSQLI_NUM);
if ($result[0] >= 1) { // so