在codeigniter

时间:2017-09-04 11:07:01

标签: php mysql ajax codeigniter

我遇到了复选框过滤问题。 我有主页,用户可以通过以下方式搜索数据库:
- 城市
- 时间
-category

在RESULT页面上,链接如下所示:

restaurants?city=1&datepick=&category=3

所以,我的餐馆控制器看起来像这样:

function index()
    {

    $city= $this->input->get('city') ? $this->input->get('city') : '';
    $datepick= $this->input->get('datepick') ? $this->input->get('datepick') : '';
    $category = $this->input->get('category') ? $this->input->get('category') : '';



    $form_data = array(
            'city' => $city,
            'datepick' => $datepick,
            'category' => $category

        );

    $this->load->model('rest_search');

    $res = $this->rest_search->rest_main_search($form_data);

    if(!empty($res)){
        $data['result'] = $res['restaurant_details'];
        $this->load->view('Search', $data); 


    } else {

        $this->load->view('Error_102'); 

    }

模型rest_search:

function rest_main_search($form_data) { 


    $city= $form_data['city'];
    $datepick= $form_data['datepick'];
    $category= $form_data['category']; 

    $this->db->select('*');
    $this->db->from('restaurants');



    if (!empty($city) && !empty($category)) {
        $this->db->where(array(
            'city'=>$city,
            'category'=>$category
            ));
    } else if(!empty($city) && empty($category)) {
        $this->db->where(array(
            'city'=>$city
            ));
    } else if(empty($city) && !empty($category)) {
        $this->db->where(array(
            'category'=>$category
            ));
    }
    $query = $this->db->get()->result();
}

查看文件(简短版):

<?php 
if(!empty($result)) {
foreach($result as $line) {

?>

<div class="rest_holder main_window">
    <div class="row">
        <div class="col-md-6">
            <?php echo $line->img; ?>
        </div>
        <div class="col-md-6">
            <?php echo $line->name; ?>
        </div>
    </div>
</div>  
<?php } } ?>

这没关系,它可以正常工作:

现在,我有一些额外的过滤器(按...排序),带有复选框以及城市和类别的复选框。 我知道我可以通过AJAX实现这一点,但我有点困惑如何将它与常规(_GET)搜索结合起来。

有什么想法吗?

0 个答案:

没有答案