[英]SQL LIKE operator in codeigniter
If have this tables 如果有这个表
USER TABLE
ID | name | mode
1 | foo | private
PRIVATE TABLE
private_id | id | private_name
1 | 1 | private mode
PUBLIC TABLE
public_id | id | public_name
1 | 1 | public mode
I want to return the query depending what data in school for example if the data of COLUMN MODE
in USER TABLE
is private
I want it to search only in PRIVATE TABLE
and if its public
it only returns the data in PUBLIC TABLE
我想返回查询,具体取决于学校中的哪些数据,例如,如果
USER TABLE
的COLUMN MODE
的数据是private
我希望它仅在PRIVATE TABLE
搜索,并且如果它的public
只返回PUBLIC TABLE
的数据
this is my code 这是我的代码
if($search){
$search_str = '(user.name LIKE '%{$search}%'
OR private.private_name LIKE '%{$search}%'
OR public.public_name LIKE '%{search}%'
)';
$this->db->where($search_str,NULL,FALSE);
$this->db->join("private","private.id = user.id","LEFT");
$this->db->join("public","public.id = user.id","LEFT");
}
if my keyword is mode
in search box it returns the private mode
and public mode
如果我的关键字是搜索框中的
mode
,则返回private mode
和public mode
$search_str = '(user.name LIKE '%{$search}%'
OR (private.private_name LIKE '%{$search}%' AND user.mode = 'private')
OR (public.public_name LIKE '%{search}%' AND user.mode = 'public')
)';
In this line OR (private.private_name LIKE '%{$search}%' AND user.mode = 'private')
it will check the data in MODE COLUMN
in USER TABLE
if its equal to private
and then proceed to PRIVATE TABLE
to find the specified pattern of a keyword
in a PRIVATE NAME COLUMN
. 在此行
OR (private.private_name LIKE '%{$search}%' AND user.mode = 'private')
,它将检查USER TABLE
MODE COLUMN
中的数据是否等于private
,然后进入PRIVATE TABLE
查找PRIVATE NAME COLUMN
keyword
的指定模式。
And in this line OR (public.public_name LIKE '%{$search}%' AND user.mode = 'public')
it will check the data in MODE COLUMN
in USER TABLE
if its equal to public
and then proceed to PUBLIC TABLE
to find the specified pattern of a keyword
in a PUBLIC NAME COLUMN
. 在这行
OR (public.public_name LIKE '%{$search}%' AND user.mode = 'public')
,它将检查USER TABLE
MODE COLUMN
中的数据是否等于public
,然后进行PUBLIC TABLE
以在PUBLIC NAME COLUMN
找到keyword
的指定模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.