【问题标题】:Get total number of rows meeting WHERE condition获取满足 WHERE 条件的总行数
【发布时间】:2012-04-13 04:29:23
【问题描述】:

我正在制作一个搜索应用程序,我想弄清楚某个查询获取了多少结果,以便计算有多少页结果。我基本上有:

mysql_query("SELECT * FROM table WHERE conditions LIMIT $page*$items, $items");

我是否必须进行不带限制子句的查询才能获得总数,还是有更好的方法?谢谢!

【问题讨论】:

    标签: php mysql


    【解决方案1】:
    SELECT COUNT (*) FROM table WHERE conditions
    

    【讨论】:

    • 这比使用 SQL_CALC_FOUND_ROWS 更好吗?
    【解决方案2】:
    SELECT COUNT(*)
      FROM table
      WHERE conditions
    

    【讨论】:

      【解决方案3】:

      我看到您正在使用 PHP。运行查询后,为什么不在 PHP 中 mysql_num_rows 呢?这样您就不需要运行两个查询。

      【讨论】:

      • 这个我也赞成,没看到php标签。
      • 是的,它会的。但是,如果您自己检查而不是在这里询问,对您来说更容易:)
      • 这将返回结果中的行数,即 LIMIT 数,除非结果较少。
      【解决方案4】:
      $page_count=10 // no of rows per page 
      $record=mysql_query("select count(*) from table where conditions");
      $row=mysql_fetch_row[0];
      
      $no_of_pages = ceil($row/$page_count);
      

      【讨论】:

        猜你喜欢
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 2019-05-13
        • 2020-01-31
        • 1970-01-01
        • 2017-02-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多