翻页有关问题

php中文网
发布: 2016-06-13 13:40:52
原创
1208人浏览过

翻页问题
用smarty做网站,最近遇到这样一个问题,就是一张张的图片翻页(上一页,下一页)问题。图片的名字存数据库中,图片id为主键,设为自动递增的。当点击页面“下一页”的时候链接到下一页,动态传递变量(图片id)调用下一张图片。但是,后台管理的时候有可能会删除一些图片,使得数据库中图片id不连续,那循环读出的时候,怎样将图片按id递增的顺序读出来呢?
php中代码:
 $row=$GLOBALS['db']->getone("SELECT * FROM ".$db_prefix."project where project_id='$id'");
if($row){
$project['id']=intval($row['project_id']);//图片id
$project['up_id']=intval($row['project_id']+1);
$project['down_id']=intval($row['project_id']-1);  
$project['pro_name']=$row['proj_name'];
$project['pro_pic']=$row['proj_pic'];//图片名称
$project['pro_declare']=$row['proj_declare'];
$project['pro_class']=$row['proj_class'];//图片所属类型,总共有两类图片

}  
$smarty=new smarty();smarty_header();
$smarty->assign('project',$project);
$smarty->display('projectdetail.html');

projectdetail.html中代码:

第一页

上一页


最后一页

下一页

由于主键id设为自动递增的,如果这时数据库中有图片被删除,id就不连续了,$project['up_id']跟$project['down_id']就可能链接不到正确的图片

------解决方案--------------------
对于不连续的id,你不能简单的
$project['up_id']=intval($row['project_id']+1);
$project['down_id']=intval($row['project_id']-1);
而是要查询出 project_id 上下各一条(共3条)记录来处理
------解决方案--------------------

探讨

我有想过就是在删除一条记录的时候,我就将比当前删除的id大的id挨个减1,如:"update project set project_id=project_id-1 where project_id>'$project_id'";可是执行之后没有反应,不知道是不是设置了id为自动递增的原因

------解决方案--------------------
探讨

引用:

我有想过就是在删除一条记录的时候,我就将比当前删除的id大的id挨个减1,如:"update project set project_id=project_id-1 where project_id>'$project_id'";可是执行之后没有反应,不知道是不是设置了id为自动递增的原因

传递一个真实的id不就行了。有了id,……

------解决方案--------------------
上一条:select * from table where id
下一条:select * from table where id > 当前id order by id asc limit 1;
------解决方案--------------------
http://w3cschool.cn/php_file_upload.html
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号