我遇到了问题,我试图在这里对我的代码进行一些分页,但是我遇到了麻烦,无论我做什么,似乎我都无法让它工作,如果可能的话,我会尝试一些帮助,我尝试了类似这个例子的东西1但从未使它工作:/
示例1:
$page = (int)$_GET['page'];
$perpage = 5;
if ($page<1) $page = 0;
mycode的
<?php
echo '<div id="block" border="1" width="200" style="float:center">';
$i = 0;
$getquery=mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 30");
while($rows=mysql_fetch_assoc($getquery)){
$id=$rows['id'];
echo '<a href="mypage.com/index.php?img='. $id .'">
<img src="/thumb/'. $id .'.jpg" width="125" height="125" alt="" />
</a>';
$i++;
if($i == 10) {
echo '<br />';
echo '<br />';
$i = 0;
}
}
echo '</div>';
?>
答案 0 :(得分:1)
更改:
mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 30");
致:
$start = $page * $perpage;
mysql_query("SELECT * FROM dogs ORDER by ID LIMIT $start, $perpage ");
答案 1 :(得分:0)
这是因为你使用限制30 ...它将始终返回前30行...你应该使用类似:LIMIT $ page * $ perpage,$ perpage
这将告诉mysql从X开始,所以$ page * $ perpage,并选择Y行,$ perpage。
答案 2 :(得分:0)
您必须在SQL中添加OFFSET
子句。要计算它,你只需要
$offset=$pageNumber * $resultsPerPage
$pageNumber
基于0,$resultsPerPage
与LIMIT
子句中的值相同