【问题标题】:How can I integrate pagination to my search in CodeIgniter?如何将分页集成到 CodeIgniter 中的搜索中?
【发布时间】:2012-02-11 10:02:30
【问题描述】:

我已经使用 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("select * 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'];
...here are some forms autocreated in each row that i need to keep making it
}

【问题讨论】:

标签: php codeigniter search pagination


【解决方案1】:

这是一个例子(不使用模型)

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);      
}

在我想要表格的视图中:

<?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;

当然你会根据自己的需要进行修改

【讨论】:

    猜你喜欢
    • 2018-03-13
    • 2016-06-15
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2016-01-30
    • 1970-01-01
    相关资源
    最近更新 更多