0

我需要一些帮助来编写正确的查询。这是场景...

我正在对输入字段实施一些自动建议。我有这个查询以获得简单的建议。

$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 列中调出结果,并且需要按原样显示它们。

任何帮助将不胜感激。

谢谢。

4

2 回答 2

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();

我想会帮助你。查询应该是这样的。现在您可以相应地更改它。如果您遇到任何问题,请告诉我。

于 2013-09-19T07:11:31.867 回答
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')
于 2013-09-18T20:56:10.463 回答