【问题标题】:How to search full name in codeigniter如何在codeigniter中搜索全名
【发布时间】:2021-04-28 06:43:41
【问题描述】:

我的数据库表结构如下。

 -------------------------------
| id | f_name | m_name | l_name |
 -------------------------------

这是我用来获得结果的模型。

    public function getContactInfo($start,$perpage) //  Swapnil
    {
        $keyword= $this->input->get('keyword'); // vishal
    
        $this->db->like(array('colleges_fname'=>$keyword)); // vishal
        $this->db->limit($perpage,$start);
    
        $result = $this->db->get("colleges");
    
        if($result->num_rows()>0) {
            return $result->result();
        } else {
            return false;
        }
    }

这是我的看法。

<form class="form-inline ml-3" type="get" action="<?php echo base_url('clerk/collegestudent/view')?>">
    <div class="input-group input-group-sm ">
        <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search" name="keyword">
        <div class="input-group-append">
            <button class="btn btn-navbar" type="submit">
                <i class="fas fa-search"></i>
            </button>
        </div>
    </div>
</form>

目前它只搜索名字。如何改进我的代码以同时搜索名字和姓氏?

【问题讨论】:

    标签: codeigniter search codeigniter-4


    【解决方案1】:
        public function getContactInfo($start,$perpage) //  Swapnil
        {
            $keyword= $this->input->get('keyword'); // vishal
            
            $this->db->group_start();
            $this->db->like('f_name', $keyword, 'after'); 
            $this->db->or_like('l_name', $keyword, 'after');
            $this->db->group_end();
            $this->db->limit($perpage,$start);
        
            $result = $this->db->get("colleges");
        
            if($result->num_rows()>0) {
                return $result->result();
            } else {
                return false;
            }
        }
    

    从组开始到组结束的行将重现如下内容:

    (f_name LIKE "string%" OR l_name LIKE "string%")
    

    如果要双向搜索,请删除 like 语句中的第三个参数。

    【讨论】:

    • 然后您将在查询中添加其他内容,因为这是您同时在名字和姓氏中搜索相同模式的方式
    • 如果它对您有用,请接受它,以便其他人可以信任它并节省他们的搜索时间
    • @M.Hemant 它只搜索名字。我无法一次搜索全名。我为搜索全名做什么。请看我的表结构。
    • 就像我说的,您可能想要双向搜索。如果是这种情况,您需要将 % 添加到字符串的两端。
    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多