十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用JS去操作执行PHP脚本,很简单
创新互联建站2013年开创至今,先为克拉玛依等服务建站,克拉玛依等地企业,进行企业商务咨询服务。为克拉玛依企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这里只提供思路,有问题来我博客留言
我正在做一个项目上面有一个简单的分页代码,我发上去你参考参考
if(empty($_GET['page']))
{
$p_sql="select * from article order by artID desc limit 0,15";//当页面第一次打开时就查前15条记录
}
else
{
if($_GET['page']!=1)
{
$s=($_GET['page']-1)*15;
//$s是查询记录的开始数
当前页1是就查15条记录后的15条记录
例如$_GET['page']等于2那么(2-1)*15就是15
(3-1)*15就是30这是第三页显示的
}
else
{
$s=0;//当$_GET['page']等于1时就从第0条开始
}
$p_sql="select * from article order by artID desc limit $s,15";
}
$p_res=mysql_query($p_sql,$conn);
$sql="select * from news";
$res=mysql_query($sql,$conn);
$num=mysql_num_rows($res);
$page=floor($num/15)+1;//分页的总页数
你这个分页算法思路超级乱。。我看了半天都不知道哪个是页码变量。。不过有一点是肯定的。。你的每个值都加了1。见以下代码:
$last_pagecount=($pages-1)*$pagesize+1;
$pagecount=($topage-1)*$pagesize+1;
$pagecount=1;
跟据你的写法。当第一页的时候。MYSQL 语句最后就是这样的结果:
order by id desc LIMIT 1, 10;
而查询偏移量是从0开始的。你这个句语最终被解释为:
倒序返回,从结果的第二条开始。往后十条。
也就是说,如果你有10条数据。ID是 1-10,倒序以后是 10-1 ,而MYSQL 从第二条起,也就是9-1之后没有了。当然就少了一条。。。
修改:把你所有的+1去掉。如果没有值传来。初始化为 0。
补充:关于数据偏移量,和数组一样。默认索引是从 0 开始的。而不是从 1 开始。即:索引0的那条数据,ID是1;索引1的那条数据ID是2。以此类推。。请不要认为那个就是ID值。。
我记得limit是从1开始计数的,也就是你要取3条记录就应该是limit 1, 3,而不是limit 0, 2。