在自动完成搜索查询中使用SQL UNION和Codeigniter / PHP

时间:2011-04-20 02:54:12

标签: php sql codeigniter union jquery-ui-autocomplete

我正在尝试在Codeigniter中开发自动完成功能,如果此查询有任何问题,有人可以告诉我吗?这对我来说似乎很合理,但我没有得到任何输出......

例如,如果有人在搜索框中输入“Ma”,我想使用以下查询..

$term=$this->input->post('term')='Ma'; 

$this->db->query(  'SELECT subject
                    FROM items
                    WHERE subject LIKE 'Ma%'
                  UNION ALL
                    SELECT first_name
                    FROM accounts
                    WHERE first_name LIKE 'Ma%'
                  UNION ALL
                    SELECT description
                    FROM items
                    WHERE description LIKE 'Ma%'');
$query=$this->db->get();

$items = array();

foreach ($query->result() as $row)
array_push($items, $row->subject);

$companies = array_slice($items, 0, 5);
echo json_encode($items);

结果应如下所示:

Marios Shoes1
Mario Shoes9
marklast
Mark
marktwook

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

如果您正在使用查询,那么我认为它应该像这样完成

$query = $this->db->query(  'SELECT subject
                    FROM items
                    WHERE subject LIKE 'Ma%'
                  UNION ALL
                    SELECT first_name
                    FROM accounts
                    WHERE first_name LIKE 'Ma%'
                  UNION ALL
                    SELECT description
                    FROM items
                    WHERE description LIKE 'Ma%'');