Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO分页查询未正确执行?_Php_Mysql_Pdo_Pagination - Fatal编程技术网

Php PDO分页查询未正确执行?

Php PDO分页查询未正确执行?,php,mysql,pdo,pagination,Php,Mysql,Pdo,Pagination,我目前正试图使一些分页工作,但没有任何成功 我执行的第一个查询是获取所需的所有数据:所以第一个结果应该在第一页上,第二个结果在第二页上,依此类推。。。但我总是得到第一个结果。虽然我将查询复制到phpmyadmin中以手动设置查询,但它显示了正确的结果 这是所有事情发生的代码。我被卡住了,为什么它不起作用 $page = isset($_GET['page']) ? $_GET['page'] : 1; $limit = 1; $start = 0; $query = $db->prepa

我目前正试图使一些分页工作,但没有任何成功

我执行的第一个查询是获取所需的所有数据:所以第一个结果应该在第一页上,第二个结果在第二页上,依此类推。。。但我总是得到第一个结果。虽然我将查询复制到phpmyadmin中以手动设置查询,但它显示了正确的结果

这是所有事情发生的代码。我被卡住了,为什么它不起作用

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 1;
$start = 0;

$query = $db->prepare("SELECT * FROM `users` LIMIT $limit OFFSET $start");
$query->execute();

$result = $query->fetchAll(PDO::FETCH_OBJ);
$count = count($result);

$query2 = $db->prepare("SELECT * FROM `users`");
$query2->execute();
$result2 = $query2->fetchALL(PDO::FETCH_OBJ);
$count2 = count($result2);

// Pagination

$total = ceil($count2 / $limit);

if ($page > 1) {
    $start = ($page - 1) * $limit;
}

if ($page != $total) {

    $next_page = '<li><a href="index.php?cat=users&page=' . ($page + 1) . '">&raquo;</a></li>';

} else {

    $next_page = '<li class="disabled">&raquo;</li>';

}

if ($page > 1) {

    $previous_page = '<li><a href="index.php?cat=users&page=' . ($page - 1) . '">&laquo;</a></li>';

} else {

    $previous_page = '<li class="disabled">&laquo;</li>';

}
$page=isset($\u GET['page'])$_获取['page']:1;
$limit=1;
$start=0;
$query=$db->prepare(“从`users`LIMIT$LIMIT OFFSET$start'中选择*);
$query->execute();
$result=$query->fetchAll(PDO::FETCH_OBJ);
$count=计数($result);
$query2=$db->prepare(“从`users`中选择*”;
$query2->execute();
$result2=$query2->fetchALL(PDO::FETCH_OBJ);
$count2=计数($result2);
//分页
$total=ceil($count2/$limit);
如果($page>1){
$start=($page-1)*$limit;
}
如果($page!=$total){
$next_page='
  • '; }否则{ $next_page='
  • »;
  • ; } 如果($page>1){ $previous_page='
  • '; }否则{ $previous_page='
  • «;
  • ; }

    我做错了什么?

    您没有用
    $page
    做任何事情
    $start
    在查询中始终为0

    你需要定义每页需要多少条记录,然后乘以$page-1,例如


    $start=($page-1)*$records\u每页

    您没有使用
    $page
    执行任何操作
    $start
    在查询中始终为0

    你需要定义每页需要多少条记录,然后乘以$page-1,例如


    $start=($page-1)*$records\u每页

    您没有使用
    $page
    执行任何操作
    $start
    在查询中始终为0。您需要定义每页需要多少条记录,然后将其乘以$page-1,例如,
    $start=($page-1)*$records\u每页算了吧,不妨加上这句话作为回答……你对
    $page
    什么都没做
    $start
    在查询中始终为0。您需要定义每页需要多少条记录,然后将其乘以$page-1,例如,
    $start=($page-1)*$records\u每页去他妈的,不妨加上这个作为答案…天哪,现在我看到了。。。代码确实存在,但位置不对。我真的应该给我买只橡皮鸭:)谢谢!天哪,现在我明白了。。。代码确实存在,但位置不对。我真的应该给我买只橡皮鸭:)谢谢!