我在phpMyAdmin中创建了一个视图,该视图中有37个结果,但它只显示了30个计数结果。
如果我输入如下声明
SELECT COUNT(*) FROM `vwk_activity` LIMIT 0,30
显示计数为37的结果,但是如果我尝试
SELECT COUNT(*) FROM `vwk_activity` LIMIT 30,30
它返回空。如果我输入
SELECT COUNT(*) FROM `vwk_activity` LIMIT 50
那也会返回37。
这是我正在尝试做的一个例子
// Set Page Limit
$page_limit = 30;
// Get Page Number
if (!isset($_GET['page']) ){$start=0;} else {$start = ($_GET['page'] - 1) * $page_limit;}
/* Check if Activity in DB */
try {
$rs_check = $dbh->prepare("SELECT COUNT(*) FROM `vwk_activity` LIMIT ".$start.",".$page_limit);
$rs_check->execute();
} catch (PDOException $e) {
print "There was an error: " . $e->getMessage() . "<br/>";
die();
}
$total = $rs_check->fetchColumn();
这适用于我的很多其他页面,但由于某种原因,它不适用于此页面。
我不确定提供什么信息来帮助解决这个问题,所以请问。 :)
答案 0 :(得分:1)
select count(*)将表中的记录计数返回给您一行...而不是每个记录计数1行。如果计数为2000万,它将返回1行,其中有2000万。
所以这个查询只返回1行。限制0,30和限制50都返回第一行和唯一一行表示37.限制30,30在这种情况下将不返回任何内容,因为它从第30行返回30行(这不存在,因为它只返回一行)
如果您想为每条记录看一行,请尝试从...中选择*。
答案 1 :(得分:0)
在config.inc.php中尝试:
$ cfg ['MaxExactCountViews'] = 1000;
默认情况下,phpMyAdmin不计算视图的行数,这会在导航中产生问题。使用此值,您应该看到导航控件以达到七个缺失的行。