栏目分类的实现分为三个部分
一是栏目的获取
二是分页的实现
第一点,对栏目进行分页,最核心的部分就是获得栏目的主键,也就是栏目的id,获得的id在新页面生成一个新的参数进行判断,如
$cat_id=isset($_GET['cat_id'])?$_GET['cat_id']+0:0;
得到id后再写栏目方法引用自身id,
如以下方法可以得到栏目的所有信息
public function find($cat_id){
$sql='select * from category where cat_id='.$cat_id;
return $this->db->getRow($sql);
}
调用上面的方法,既可以得到栏目信息
$category = $cat->find($cat_id);
第二点,分页的实现,逻辑上主要有三个元素,第一个是偏移量(每一页应该显示的栏目数),第二个是栏目的总数(查询数据库所得到的所有栏目信息),第三个是总共的页数,有这个思路我们就很清晰了,第一点,最关键就是查询得到的数据不满一页的情况下要进行取整,不能出现不到一页的情况,如数据只能满足2.5也显示,不能出现半页这种情况,页码应该取整为3页,实现如下
$perpage=1;
if($page > ceil($total/$perpage)){
$page=1;
}
$offset = ($page-1)*$perpage;
就可以得到分页的效果
(之后我们再研究页面上下跳转的逻辑)