Codeigniter搜索栏

时间:2017-04-26 06:23:27

标签: php codeigniter search construct

Searchbar正在codeigniter网站上工作,但它不会加载建议产品。正如我想要的,如果有人在searchbay中写'戴尔',他应该得到戴尔笔记本电脑的建议如下。另一件事“输入”按钮不适用于搜索,必须单击搜索图标才能搜索product.code,如下所示 控制器

function text_search(){
    if ($this->crud_model->get_settings_value('general_settings','vendor_system') !== 'ok') {
        $search = $this->input->post('query');
        $category = $this->input->post('category');
        redirect(base_url() . 'index.php/home/category/'.$category.'/0-0/0/0/'.$search, 'refresh');
    }else{
        $type = $this->input->post('type');
        $search = $this->input->post('query');
        $category = $this->input->post('category');
        if($type == 'vendor'){
            redirect(base_url() . 'index.php/home/store_locator/'.$search, 'refresh');
        } else if($type == 'product'){
            redirect(base_url() . 'index.php/home/category/'.$category.'/0-0/0/0/'.$search, 'refresh');
        }
    }
}

模型

function get_type_name_by_id($type, $type_id = '', $field = 'name')
{
    if ($type_id != '') {
        $l = $this->db->get_where($type, array(
            $type . '_id' => $type_id
        ));
        $n = $l->num_rows();
        if ($n > 0) {
            return $l->row()->$field;
        }
    }
}
function get_settings_value($type, $type_name = '', $field = 'value')
{
    if ($type_name != '') {
        return $this->db->get_where($type, array('type' => $type_name))->row()->$field;
    }
}

查看

<div class="header-search">
                <?php
                    echo form_open(base_url() . 'index.php/home/text_search/', array(
                        'method' => 'post'
                    ));
                ?>
                    <input class="form-control" type="text" name="query" placeholder="<?php echo translate('what_are_you_looking_for');?>?"/>
                    <select
                        class="selectpicker header-search-select cat_select hidden-xs" data-live-search="true" name="category"
                        data-toggle="tooltip" title="<?php echo translate('select');?>">
                        <option value="0"><?php echo translate('all_categories');?></option>
                        <?php
                            $categories = $this->db->get('category')->result_array();
                            foreach ($categories as $row1) {
                                if($this->crud_model->if_publishable_category($row1['category_id'])){
                        ?>
                        <option value="<?php echo $row1['category_id']; ?>"><?php echo $row1['category_name']; ?></option>
                        <?php
                                }
                            }
                        ?>
                    </select>
                    <?php
                        if ($this->crud_model->get_type_name_by_id('general_settings','58','value') == 'ok') {
                    ?>
                    <select
                        class="selectpicker header-search-select" data-live-search="true" name="type" onchange="header_search_set(this.value);"
                        data-toggle="tooltip" title="<?php echo translate('select');?>">
                        <option value="product"><?php echo translate('product');?></option>
                        <option value="vendor"><?php echo translate('vendor');?></option>
                    </select>
                    <?php
                        }
                    ?>
                    <button class="shrc_btn"><i class="fa fa-search"></i></button>
                </form>
            </div>
            <!-- /Header search -->

0 个答案:

没有答案