php - 如何将 sql 计数值放在变量上?

标签 php mysql

我构造了一个代码,其中它将计算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".}
?>

现在,我不知道为什么它会同时显示记录和此错误消息:

Notice: Object of class mysqli_result could not be converted to int in C:\xampp\htdocs\system\admin pages\Reservations\view.php on line 6

最佳答案

无需执行两个查询,只需在单个查询中执行即可,如下所示:-

<?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";
}?>

关于php - 如何将 sql 计数值放在变量上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703390/

相关文章:

php - Omnipay paypal 集成 - 确认付款状态

php - Mysql语法错误问题

javascript - 如何使用 javascript 验证月、日和年范围?

mysql - 有趣的 MATCH AGAINST 问题 : not searching some words

mysql - 重命名所有 FK 和 IDX 名称

php - 如何将Excel中的空白值插入具有唯一键的列并将其输入为NULL?

php - Laravel 5.2 查询不起作用

php - 使用 CodeIgniter、php5 和 MySQL 在数据库上进行实时搜索

mysql - 优化解析 5000 万行 MySQL 表的请求

mysql - WHERE 语句中的 REGEXP?