0

我想实现一个“页面”系统,以便在第一页显示 10 个结果(1-10),在第二页显示其他 10 个(11-20)结果。等等

结果应该以不同的方式排序,例如ORDER BY count DESC; 是否有针对此的纯 MySQL 解决方案,例如

$results_per_page = 10;
$page_number = $_GET['page'];

mysql_query( "SELECT * FROM mytable ORDER BY count DESC 
LIMIT $results_per_page*$page , $results_per_page*($page+1) // Of course, I made up this line
;");
4

3 回答 3

0
make a function passing four parameters
function getresult($index,$order,$start,$no_rows)
 {

    $sql="SELECT * FROM mytable order by $index $orders limit $start,$no_rows";
 }

在哪里,

$index=你想要做的排序

$order=asc/desc

$start=from on yow 将开始获取记录

$no_$rows=你想得到行数

于 2013-02-22T19:56:49.823 回答
0

我找到了问题的答案,我应该像这样选择它们

SELECT * FROM mytable ORDER BY whatever DESC LIMIT 10 OFFSET 10;

第 2 页。

所以随着变量它变成

SELECT * FROM mytable ORDER BY whatever DESC LIMIT $results_per_page OFFSET $page_number-1;
于 2013-02-22T19:48:20.817 回答
0

清理 $page 变量后,出于安全原因,您永远不应该直接接受用户的输入,您应该这样做:

<?php
$first = $results_per_page * ($page-1); // on page 1 you want to start at row 0
$querystring = "SELECT * FROM mytable ORDER BY count DESC 
LIMIT $first, $results_per_page";
?>
于 2013-02-22T19:49:07.640 回答