首先要温柔我是一个乞丐。
我有一个codeogniter分页的问题,而且我完全是clules。
我在网上看了很多东西,从来没有得到过任何屁股。
我的问题是,我建立一个房地产网站,它有两种类型的房地产,出售和出租。
我的查询看起来像这样
function for_sale()
{
$query = $this->db->query(" SELECT city, rand_id, price, image FROM estate WHERE type = 'for_sale' ");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $f)
{
$for_sale[] = $f;
}
return $for_sale;
}
}
我的控制器
function index()
{
$this->load->view("header");
$this->load->model('estate_model');
$for_sale['result'] = $this->estate_model->for_sale();
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/kpi/for_sale/index';
$config['total_rows'] = 22;
$config['per_page'] = 9;
$config['num_links'] = 19;
$this->pagination->initialize($config);
// $data['records'] = $this->db->get('ingatlan', $config['per_page'], $this->uri->segment(3));
$this->load->view("for_sale_view", $for_sale);
$this->load->view("footer");
}
和我的观点
foreach($results as $r) {
echo '<div class="grid_4">';
echo '<p class="title">Estate for sale</p>';
echo '<div class="thumbnail">
<div class="info">
<p class="bar">'.$r->city.'</p>
<p></p>
</div>
<a href="#">'.$r->image.'</a></div>';
echo '<div class="more"><a href="#">View details</a></div>';
echo '</div>';
}
所以我的问题是我无法弄清楚如何将它与我的查询一起使用,我看了很多关键词,我需要在表库中加载,并传递像这样的数据数组
$data['records'] = $this->db->get('estate', $config['per_page'], $this->uri->segment(3));
anf给出每页这个结果`$ this-&gt; db-&gt; get('estate') - &gt; num_rows();但我希望这与我的查询,而不是表。
有人可以给我一个暗示吗?
谢谢
答案 0 :(得分:1)
...我需要加载表库,并传递一个数据数组......
您如何显示数据完全取决于您。 html-table 类可以帮助你,但没有必要使用它。您的视图应该正常工作,除非您想要迭代$results
,因为您将数据放入$for_sale['result']
(结果!=结果),这将是空的。
为了让分页库与您的查询一起使用,您必须传递查询2个参数:
$config['per_page']
)$this->uri->segment(3)
)所以而不是:
$for_sale['result'] = $this->estate_model->for_sale();
Model:
function for_sale()
{
$query = $this->db->query(" SELECT city, rand_id, price, image FROM estate WHERE type = 'for_sale' ");
...
}
你应该尝试:
$for_sale['result'] = $this->estate_model->for_sale($config['per_page'],$this->uri->segment(3));
Model:
function for_sale($per_page, $offset) {
$query = $this->db->query(" SELECT city, rand_id, price, image FROM estate WHERE type = 'for_sale' LIMIT $offset, $per_page");
...
return $query->result();
}
最后一件事:在查询数据库之前,必须初始化分页库。
还有另外一件事:$config['total_rows'] = 22;
你可能想要用$this->estate_model->get_for_sale_total_rows()
希望这有帮助。