|
本帖最后由 haoren26 于 2011-9-27 14:23 编辑
CI version:2.0.3
Environment:WAMP 2.1
看一哈子第三部视频,讲分页,我已经把全部的代码都写好了,但测试的时候发现点击一个分类的连接(比如“IT学习”),URI为http://localhost/admin/index.php/home/category/1,无法获得文章列表,错误如下:
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
SELECT * FROM article WHERE category_id = 1 ORDER BY id DESC LIMIT ,1
我在控制器home.php里是这样写的
home.php
PHP复制代码
function category()
{
$this->load->model('Mhome');
$data['category'] = $this->Mhome->get_category();
$data['get_category_name'] = $this->Mhome->get_category_name($this->uri->segment(3));
$data['page_title']='CI开发新闻发布体系';
$this->load->view('header_view',$data);
$config['base_url'] = base_url().'index.php/home/category/'.$this->uri->segment(3);
$config['total_rows'] = $this->Mhome->select_num_rows($this->uri->segment(3));
$config['per_page'] = 1;
$config['uri_segment'] = 4; //问题出在这里!!
$this->pagination->initialize($config);
$data['article_list'] = $this->Mhome->get_page($this->uri->segment(3),$this->uri->segment(4),$config['per_page']);
$this->load->view('category_view',$data);
$this->load->view('footer_view');
}
复制代码
get_page方法写在模型Mhome.php里
Mhome.php
PHP复制代码
function get_page($category_id,$offset,$num) //分页
{
$sql = "SELECT * FROM article WHERE category_id = $category_id ORDER BY id DESC LIMIT $offset,$num";
$query = $this->db->query($sql);
return $query->result();
}
复制代码
如果我在地址栏输入 http://localhost/admin/index.php/home/category/1/1,则可以访问第二页的内容,因为它有第四个URI节段,但第一页的URI就是 http://localhost/admin/index.php/home/category/1,它没有第四个节段,于是就无法获取文章列表,这让我苦恼,该怎么能显示第一页呢?
|
|