0

我在 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();

这适用于我的许多其他页面,但由于某种原因它不适用于这个页面。

4

2 回答 2

1

select count(*) 将表中的记录数在一行中返回给您...不是每条记录计数 1 行。如果计数是 2000 万,它将返回 1 行,其中包含 2000 万。

所以这个查询只返回 1 行。限制 0,30 和限制 50 都返回第一行和唯一的行 37。限制 30,30 在这种情况下不会返回任何内容,因为它从第 30 行返回 30 行(不存在,因为这只返回一行)

如果您想查看每条记录的 1 行,请尝试 select * from ...。

于 2013-09-09T21:33:08.340 回答
0

在 config.inc.php 中试试这个:

$cfg['MaxExactCountViews'] = 1000;

默认情况下,phpMyAdmin 不计算视图的行数,这会导致导航出现问题。使用此值,您应该会看到导航控件可以到达七个缺失的行。

于 2013-09-10T00:03:21.870 回答