Использование SQL UNION с Codeigniter / PHP в поисковом запросе автозаполнения - PullRequest
1 голос
/ 20 апреля 2011

Я пытаюсь разработать функцию автозаполнения в Codeigniter, может кто-нибудь сообщить мне, есть ли проблемы с этим запросом?Это кажется мне разумным, но я не получаю никаких выходных данных ...

например, если кто-то вводит "Ма" в поле поиска, я хочу использовать следующий запрос ..

$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 голосов
/ 26 апреля 2011

Если вы используете запрос, то я думаю, что это должно быть сделано так

$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%'');
...