【问题标题】:How to make One Search Module for Multiple Tables in Codeigniter?如何在 Codeigniter 中为多个表创建一个搜索模块?
【发布时间】:2015-03-17 10:34:54
【问题描述】:

我必须搜索“Professional”或“Vendor”表以及“Users”表。你能帮我解决一下我如何在一次搜索中实现它的查询,以决定搜索属于哪里。

下面的结果是在表格中寻找匹配项..我不想要那个..我想要两个单独的表格中的正确匹配..有人可以帮助我吗?

<?php

$this->db->select('*');
$this->db->from('users');
$this->db->join('professional', 'professional.accountId = users.id');
$this->db->join('vendor', 'vendor.accountId = users.id');
$this->db->like('users.realname', $search_term);
$this->db->or_like('users.email', $search_term);
$this->db->or_like('users.category', $search_term);
$this->db->or_like('users.full_name', $search_term);
$this->db->or_like('users.license_id', $search_term);
$this->db->or_like('professional.state', $search_term);
$this->db->or_like('professional.city', $search_term);
$this->db->or_like('professional.country', $search_term);
$this->db->or_like('professional.pincode', $search_term);
$this->db->or_like('professional.mobile', $search_term);
$this->db->or_like('professional.phone', $search_term);
$this->db->or_like('professional.profession', $search_term);
$this->db->or_like('vendor.state', $search_term);
$this->db->or_like('vendor.city', $search_term);
$this->db->or_like('vendor.country', $search_term);
$this->db->or_like('vendor.pincode', $search_term);
$this->db->or_like('vendor.mobile', $search_term);
$this->db->or_like('vendor.phone', $search_term);
$this->db->or_like('vendor.firm_catagory', $search_term);
$this->db->group_by("users.id");

$query = $this->db->get();

$qu = $query->result_array();

foreach ($qu as $row) {

$row_set[] = htmlentities(stripslashes($row['accountId'])); //build an array
}

echo json_encode($row_set);

?>

【问题讨论】:

    标签: php mysql codeigniter


    【解决方案1】:

    我自己找到了答案:但我想打印更多结果,如 $row['country']、$row['city']、$row['state'] 等。)

    <?php
    
    $this->db->select('*');
    $this->db->from('users');
    $this->db->join('professional', 'professional.accountId = users.id');
    $this->db->like('users.realname', $search_term);
    $this->db->or_like('users.email', $search_term);
    $this->db->or_like('users.category', $search_term);
    $this->db->or_like('users.full_name', $search_term);
    $this->db->or_like('users.license_id', $search_term);
    $this->db->or_like('professional.state', $search_term);
    $this->db->or_like('professional.city', $search_term);
    $this->db->or_like('professional.country', $search_term);
    $this->db->or_like('professional.pincode', $search_term);
    $this->db->or_like('professional.mobile', $search_term);
    $this->db->or_like('professional.phone', $search_term);
    $this->db->or_like('professional.profession', $search_term);
    $this->db->group_by("users.id");
    
    $query = $this->db->get();
    
    $qu = $query->result_array();
    
    foreach ($qu as $row) {
    
    $row_set[] = htmlentities(stripslashes($row['accountId'])); //build an array
    }
    if (isset($row_set)) {
    
    echo json_encode($row_set);
    
    }
    
    
    
    
    $this->db->select('*');
    $this->db->from('users');
    $this->db->join('vendor', 'vendor.accountId = users.id');
    $this->db->like('users.realname', $search_term);
    $this->db->or_like('users.email', $search_term);
    $this->db->or_like('users.category', $search_term);
    $this->db->or_like('users.full_name', $search_term);
    $this->db->or_like('users.license_id', $search_term);
    $this->db->or_like('vendor.state', $search_term);
    $this->db->or_like('vendor.city', $search_term);
    $this->db->or_like('vendor.country', $search_term);
    $this->db->or_like('vendor.pincode', $search_term);
    $this->db->or_like('vendor.mobile', $search_term);
    $this->db->or_like('vendor.phone', $search_term);
    $this->db->or_like('vendor.firm_catagory', $search_term);
    $this->db->group_by("users.id");
    $query2 = $this->db->get();
    $qu2 = $query2->result_array();
    
    foreach ($qu2 as $row) {
    
    $row_set2[] = htmlentities(stripslashes($row['accountId'])); //build an array
    }
    
    if (isset($row_set2)) {
    
    echo json_encode($row_set2);
    
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 2013-06-02
      相关资源
      最近更新 更多