php - 使用PHP在网页中显示尚未出现在数据库记录列表中的结果

标签 php mysql

我有一个在网页中显示所有结果的查询。我关心的是如何查询数据库中不存在的内容?例如,如果数据库中没有数据,它将显示“尚未记录”。下面是我的代码。

<?php
           require("script/connect.php");
           $sql = "SELECT
                    COUNT(*)as num
                    FROM
                    users_tbl ";
           $res12 = mysql_query($sql);

              $id = $_GET['id'];
              $sql = "SELECT 
                      teachers_tbl.id,
                      teachers_tbl.teachers_name,
                      users_tbl.teachers_id,
                      users_tbl.A1,
                      users_tbl.A2,
                      users_tbl.A3,
                      users_tbl.A4,
                      users_tbl.A5,
                      users_tbl.A6,
                      users_tbl.A7,
                      users_tbl.A8,
                      users_tbl.A9,
                      users_tbl.A10,
                      users_tbl.B1,
                      users_tbl.B2,
                      users_tbl.B3,
                      users_tbl.B4,
                      users_tbl.B5,
                      users_tbl.B6,
                      users_tbl.B7,
                      users_tbl.B8,
                      users_tbl.B9,
                      users_tbl.B10,
                      users_tbl.C1,
                      users_tbl.C2,
                      users_tbl.C3,
                      users_tbl.C4,
                      users_tbl.comments
                      FROM
                      teachers_tbl
                      INNER JOIN users_tbl ON users_tbl.teachers_id = teachers_tbl.id 
                      WHERE teachers_tbl.id = '$id'";
              $res = mysql_query($sql);
              while($row = mysql_fetch_array($res)){
                if(mysql_num_rows(mysql_query($sql)) != NULL){
                  echo "<p style='text-align:center; color:red;'>NO RECORDS YET.</p>";
                }else{
                  echo "RESULT PAGE FOR  - ".$row['teachers_name']."";
                  include("script/result.php");
                }
              }

          ?>

最佳答案

将您的 PHP 代码重写为 mysql_num_rows() — 获取结果中的行数

if(mysql_num_rows($res)==0){
    echo "<p style='text-align:center; color:red;'>NO RECORDS YET.</p>";
}else{
    while($row = mysql_fetch_array($res)){          
            echo "RESULT PAGE FOR  - ".$row['teachers_name']."";                    
    }
 }

原因是,While循环仅在查询有数据时才执行,将mysql_num_rows从while循环内部移出,您可以检查条件。

注意:使用 mysqli_* 或 PDO 函数而不是使用 mysql_* 函数(已弃用)

关于php - 使用PHP在网页中显示尚未出现在数据库记录列表中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21647961/

相关文章:

mysql - 如何做这个sql查询?

php - 从 PHP 发送的电子邮件中显示的 HTML 问题

php - 如何从 Controller 返回的查询中获取数据

php - 仅在 div 中加载 php 内容

PHP 和 MYSQL 使用文本区域插入数据库(新行和数据库中的新行)?

mysql - ETIMEOUT 错误 |带有 NodeJS 的 Google Cloud SQL 数据库

MySQL - 修改查询(NOT NULL)

php - PHP中的静态类初始化器

php - 跨度上的CSS边框崩溃?

php - 使用模型的自定义方法时无法插入时间戳值