我如何集成分页我的搜索在CodeIgniter? [英] How can I integrate pagination to my search in CodeIgniter?
问题描述
我使用codeigniter做一个简单的搜索,没有ajax或某事,我想集成分页类,我已经读了一些例子,他们使用像这样的库 $ this-> ; table-> generate($ results);
和我需要在每个结果一个按钮来编辑该条目。我已经做了,但现在以这种方式显示分页我有一个大问题,请,任何人谁可以帮助我这个问题?我只需要一个线索或某事在CI中找到
我把这里的模型,控制器和视图,以防万一
控制器
public function searchdescription()
{
// $ keyword = $ this - > input-> post('keyword');
$ keyword = $ _POST ['keyword'];
$ this-> load-> model('searchdesc / searchdesc_model');
$ data ['retorno'] = $ this-> searchdesc_model-> querydb($ keyword);
$ this-> load-> view('searchdesc / searchresults_view',$ data);
}
模型
function querydb($ data,$ num,$ offset)
{
$ queryresult = $ this-> db-> query * from data where deleteflag = 0 and title like'%$ data%'or text like'%$ data%'LIMIT $ num,$ offset);
return $ queryresult-> result_array();
}
检视
foreach($ retorno as $ val)
{
echo $ val ['id'];
echo $ val ['title'];
echo $ val ['text'];
...这里有一些表格自动创建在每一行,我需要保持它
}
<下面是一个示例(不使用模型)
解决方案
public function big()
{
$ this-> load-> library('pagination');
$ this-> load-> library('table');
$ config ['base_url'] = base_url()。/ site / big /';
$ where =bot ='2'OR bot ='0';
$ this-> db-> where($ where);
$ config ['total_rows'] = $ this-> db-> count_all_results('visitors');
$ config ['per_page'] = 15;
// $ config ['num_links'] = 20;
$ config ['full_tag_open'] ='< div id =pagination>';
$ config ['full_tag_close'] ='< / div>';
$ this-> pagination-> initialize($ config);
$ where =bot ='2'OR bot ='0';
$ this-> db-> where($ where);
$ this-> db-> select('id,ip,date,page,host,agent,spammer,country,total,refer'
$ this-> db-> order_by(date,DESC);
$ data ['records'] = $ this-> db-> get('visitors',$ config ['per_page'],$ this-> uri-> segment(3)
$ this-> table-> set_heading('Id','IP','Date','Page','Host','Agent','Spam' ,'Total','Referer');
$ this-> db-> select_sum('total','trips');
$ query = $ this-> db-> get('visitors');
$ data ['trips'] = $ query-> result();
$ this-> load-> view('site_view',$ data);
}
在我想要表格的视图中:
<?php echo $ this-> table-> generate($ records); >
<?php echo $ this-> pagination-> create_links(); >
在行中添加按钮会执行类似操作
foreach($ records as $ row){
$ row-> title = ucwords($ row-> title);
$ this-> table-> add_row(
$ row-> date,
anchor(main / blog_view / $ row-> id,$ row-> title),
$ row-> status,
anchor(main / delete / $ row-> id,$ row-> id,array('onClick'= >return confirm('Are you sure you want to delete?')),
anchor(main / fill_form / $ row-> id,$ row-> id)
);
}
$ table = $ this-> table-> generate();
echo $ table;
当然,您会根据需要进行修改
I've used codeigniter to make an easy search, no ajax or something, and I want to integrate the pagination class, I have read some examples and they use a library like this $this->table->generate($results);
and I need in each result a button to edit that entry. I already did, but now with that way of showing the pagination I have a big problem, please, could anyone help me with this issue? I just need a clue or something to find in CI
I put here my model, controller and view, just in case
controller
public function searchdescription()
{
//$keyword = $this->input->post('keyword');
$keyword = $_POST['keyword'];
$this->load->model('searchdesc/searchdesc_model');
$data['retorno'] = $this->searchdesc_model->querydb($keyword);
$this->load->view('searchdesc/searchresults_view', $data);
}
model
function querydb($data,$num, $offset)
{
$queryresult = $this->db->query("select * from data where deleteflag=0 and title like '%$data%' or text like '%$data%' LIMIT $num, $offset ");
return $queryresult->result_array();
}
view
foreach ($retorno as $val)
{
echo $val['id'];
echo $val['title'];
echo $val['text'];
...here are some forms autocreated in each row that i need to keep making it
}
Here is an example (not using a model)
public function big()
{
$this->load->library('pagination');
$this->load->library('table');
$config['base_url'] = base_url().'/site/big/';
$where = "bot = '2' OR bot = '0'";
$this->db->where($where);
$config['total_rows'] = $this->db->count_all_results('visitors');
$config['per_page'] = 15;
//$config['num_links'] = 20;
$config['full_tag_open'] = '<div id="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$where = "bot = '2' OR bot = '0'";
$this->db->where($where);
$this->db->select('id, ip, date, page, host, agent, spammer, country, total, refer');
$this->db->order_by("date", "DESC");
$data['records'] = $this->db->get('visitors', $config['per_page'], $this->uri->segment(3));
$this->table->set_heading('Id', 'IP', 'Date', 'Page', 'Host', 'Agent', 'Spam', 'Country', 'Total', 'Referer');
$this->db->select_sum('total', 'trips');
$query = $this->db->get('visitors');
$data['trips'] = $query->result();
$this->load->view('site_view', $data);
}
In the view where I want the table:
<?php echo $this->table->generate($records); ?>
<?php echo $this->pagination->create_links(); ?>
to add buttons in the rows do something like this
foreach($records as $row){
$row->title = ucwords($row->title);
$this->table->add_row(
$row->date,
anchor("main/blog_view/$row->id", $row->title),
$row->status,
anchor("main/delete/$row->id", $row->id, array('onClick' => "return confirm('Are you sure you want to delete?')")),
anchor("main/fill_form/$row->id", $row->id)
);
}
$table = $this->table->generate();
echo $table;
Of course you will modify to fit your needs
这篇关于我如何集成分页我的搜索在CodeIgniter?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!