加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在不考虑PDO限制的情况下获取总行数?

发布时间:2020-12-13 13:38:06 所属栏目:PHP教程 来源:网络整理
导读:我发现这是非常不专业的,进行二次查询以检查更多的结果,以显示一个加载更多的按钮. 我正在使用PDO,有没有办法获得没有限制过滤器的总找到的行,但仍然过滤结果? 当前代码: // Show Results$start = 0$r=$db-prepare("SELECT * FROM locations WHERE area=:a
我发现这是非常不专业的,进行二次查询以检查更多的结果,以显示一个加载更多的按钮.

我正在使用PDO,有没有办法获得没有限制过滤器的总找到的行,但仍然过滤结果?

当前代码:

// Show Results

$start = 0

$r=$db->prepare("SELECT * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

// See if there is more results

$r=$db->prepare("SELECT * FROM locations WHERE area=:area");
$r->execute($fields);

$offset=$start+10;
if($r->rowCount() > $offset){
echo "<div class='load'>Load More</div>";
}
仅限MySQL AFAIK:
$r=$db->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

var_dump($r->fetchAll());

var_dump($db->query('SELECT FOUND_ROWS();')->fetch(PDO::FETCH_COLUMN));

关于数据库服务器的重要性,当然可以查询所有的记录.对于非MySQL使用,这个查询当然更好的是获取所有记录的行计数:

$r=$db->prepare("SELECT COUNT(*) FROM locations WHERE area=:area");
$r->execute($fields);
$count = $r->fetch(PDO::FETCH_COLUMN);
echo $count;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读