在自动完成搜索查询
问题描述:
我想开发一个笨自动完成功能使用SQL UNION与笨/ PHP,有人可以让我知道是否有与此查询任何问题吗?这似乎是合理的给我,但我没有得到任何输出...在自动完成搜索查询
例如,如果在“马”有人类型的搜索框,我想用下面的查询..
$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
任何意见将不胜感激。
答
如果你正在使用的查询,然后我想应该是这样
$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%'');
+0
感谢josnidhin,实现不需要.... $查询= $这个 - > DB-> get()方法; – 2011-07-08 02:53:06
我猜这是使用AJAX来完成 - 使用Firebug瓦特/ Firefox或谷歌浏览器类似的东西来调试请求。使用Firebug,你可以查看,看看该请求是否成功与否,通常在响应部分,它会告诉你任何错误笨输出。 – Matthew 2011-04-20 02:57:39
除非它是一个错字,行'$项= $这个 - >输入 - >后(“术语”)=“马”,'返回'致命错误:在写上下文[无法使用方法的返回值。 。],至少对我来说。 – Ross 2011-04-21 08:51:26
也做了'的print_r($查询 - >结果());',看看你得到你所期待的数据。 – Ross 2011-04-21 08:52:33