codeigniter 代码点火器:查询正在返回select/like语句上表中的所有行

lfapxunr  于 2023-01-10  发布在  其他
关注(0)|答案(2)|浏览(98)

我下面这个教程创建一个实时搜索功能:http://www.technicalkeeda.com/codeigniter-tutorials/live-search-using-jquery-ajax-php-codeigniter-and-mysql
我在模型中的查询返回表中的所有行。这是我的查询:

$query = $this->db->select('Key, FirstName, LastName, CompanyName')
                      ->like('FirstName', $search, 'both')
                      ->or_like('LastName', $search, 'both')
                      ->or_like('CompanyName', $search, 'both')
                      ->where('Deleted', 0)
                      ->from('AMOwners')
                      ->get();
return $query->result_array();

我想输入一个名字或公司名称的全部/部分,然后在三列中检查是否匹配,但是当jquery函数被触发开始轮询数据库时,它总是拉取所有的行,我做错了什么?

erhoui1w

erhoui1w1#

您需要编写一个包含ANDOR语句的嵌套查询:

$query = $this->db->select('Key, FirstName, LastName, CompanyName')
                  ->where('Deleted', 0)
                  ->where("(FirstName LIKE '%$search%' OR LastName LIKE '%$search%' OR CompanyName LIKE '%$search%')")
                  ->from('AMOwners')
                  ->get();
return $query->result_array();
jfewjypa

jfewjypa2#

选择消息ID、消息、病例消息来源类型=“患者”时,则(从患者中选择名字,其中患者ID=消息发件人ID)ELSE(从管理员用户中选择全名,其中管理员用户ID=发件人消息ID)END作为发件人名称,用例当消息发送类型=“患者”时,则(从患者中选择名字,其中患者ID=收件人消息ID)ELSE(从管理员用户中选择全名,其中管理员用户ID=收件人消息ID)END(从消息中选择收件人消息ID);

相关问题