我需要一些帮助来编写正确的查询。这是场景......
我正在对输入字段实施一些自动建议。我有这个简单建议的查询。
$temp = $this->db
->select('state as label, state as value')
->where('last_name !="" AND state LIKE ', $term.'%' )
->get('user_profile')
->result_array();
此查询对我来说非常适合。但问题是此查询仅从一列(即状态列)中调出结果。现在我需要的是我想获取与那里的三列中的任何一列匹配的结果。我现在写的查询是
$temp = $this->db
->select('zip as label, zip as value')
->where(
'last_name !=""
AND zip LIKE ', $term.'%
OR suburb LIKE ', $term.'%
OR city LIKE ', $term.'%' )
->get('user_profile')
->result_array();
此查询根本没有执行。某些地方必定存在语法错误,我无法识别...我希望符合条件的结果我会以下列形式显示它们。
拉链,郊区,城市以前的查询只显示一列的结果,然后按原样显示。现在我需要调出3列的结果,并且需要按原样显示它们。
任何帮助都将受到高度赞赏。
感谢。
答案 0 :(得分:1)
试试这个
$where = "last_name !=' ' AND (zip LIKE '%{$term}%' OR suburb LIKE '%{$term}%' OR city LIKE '%{$term}%')";
$temp = $this->db->select('zip as label, zip as value')->where($where)->get('user_profile')->result_array();
我认为会帮助你。查询应该是这样的。现在您可以相应地更改它。如果您遇到任何问题,请告诉我。
答案 1 :(得分:0)
替换:
where('last_name !="" AND zip LIKE ', $term.'% OR suburb LIKE ', $term.'% OR city LIKE ', $term.'%' )
使用:
where('last_name !="" AND zip LIKE '. $term.'% OR suburb LIKE '. $term.'% OR city LIKE '. $term.'%' )
这将是一个良好的开端。此外,启用错误报告以更好地了解您的问题(在CI中执行此操作,打开项目的index.php文件并设置:
define('ENVIRONMENT', 'development')