我必须搜索“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);

?>

最佳答案

我找到了答案。。我自己:但是我想打印更多的结果,比如$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);

}
?>

关于php - 如何在Codeigniter中为多个表制作一个搜索模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29096884/

10-14 16:34
查看更多