【问题标题】:Getting Value of COUNT获取 COUNT 的值
【发布时间】:2016-01-24 01:48:56
【问题描述】:

我有一个在网上找到的 php 分页脚本 (http://papermashup.com/easy-php-pagination/),它运行良好,我想对其进行修改以更好地满足我的需要并稍微更新一下。我遇到的问题是,虽然它给出了找到的结果数量,但使用

 echo $total_pages.' Results';

如果没有结果,它不会返回零,它只是没有价值。

这是计算结果数量的代码。

 $query = "SELECT COUNT(*) as num FROM $tableName";
 $total_pages = mysql_fetch_array(mysql_query($query));
 $total_pages = $total_pages[num];

我尝试添加一个 if 语句,以便如果结果为 0,我可以说抱歉没有找到匹配项,但如果没有结果,我无法获取要显示的值。

我尝试将 COUNT 与 num 一起作为一行回显,但无论我做什么,我似乎都无法让它显示 0 个结果。

【问题讨论】:

  • 如果没有结果,我认为没有什么可取的。您应该将查询放在条件中。这也不会明确意味着由于查询而存在0 记录;也可能是错误。

标签: php count


【解决方案1】:

扩展您的代码:

 $query = "SELECT COUNT(*) as num FROM {$tableName}";
 $total_pages = mysql_fetch_array(mysql_query($query));
 $total_pages = $total_pages['num'];
 if (!empty($total_pages)) {
     echo $total_pages . " Results found.";
 } else {
     echo "Sorry! No results found.";
 }

【讨论】:

    【解决方案2】:

    您可以使用函数mysql_num_rows(); 来实现这一点

    $result_set = mysql_query($query);
    $count = mysql_num_rows($result_set);
    

    附言请尝试使用 mysqli 而不是现在已弃用的简单 mysql。

    【讨论】:

      【解决方案3】:

      试试看。

      $query = mysql_query("SELECT * FROM $tableName");
      $num = mysql_num_rows($query);
      if($num > 0)
      {
          echo "Total records = ".$num;
      }
      else
      {
          echo "Sorry no record found";
      }
      

      【讨论】:

      • mysql_num_rows 不如COUNT(*) 可靠,请参阅stackoverflow.com/questions/2485224/… 和类似的
      • 也许你是对的。但我总是使用mysql_num_rows() 而不是count(*) 和工作v.well 无论如何感谢您的建议
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 2016-11-10
      • 2021-12-16
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 2019-04-20
      相关资源
      最近更新 更多