У меня также есть функция поиска, которая ищет продукты по имени или описанию и т. д. В качестве основы я использую codeigniter. Вот код, который генерирует запрос:
Код: Выделить всё
$search_query = $this->db->from('company_products')
->where('company_products.active', 1)
->or_like(array('name'=> $keywords, 'model'=> $keywords, 'brand'=> $keywords, 'description'=> $keywords))
->order_by('id', 'RANDOM')
->get();
Код: Выделить всё
SELECT `company_products`.*
FROM (`company_products`)
WHERE `company_products`.`active` = 1
AND `name` LIKE '%chair%'
OR `model` LIKE '%chair%'
OR `brand` LIKE '%chair%'
OR `description` LIKE '%chair%'
Код: Выделить всё
(SELECT a product WHERE active = 1 - AND - name LIKE %search_string%)
- OR -
(SELECT a product WHERE model LIKE %search_string%)
- OR -
(SELECT a product WHERE brand LIKE %search_string%)
- OR -
(SELECT a product WHERE description LIKE %search_string%)
Код: Выделить всё
(SELECT a product WHERE active = 1)
- AND -
{ (SELECT a product WHERE model LIKE %search_string%)
- OR -
(SELECT a product WHERE model LIKE %search_string%)
- OR -
(SELECT a product WHERE brand LIKE %search_string%)
- OR -
(SELECT a product WHERE description LIKE %search_string%) }
Подробнее здесь: https://stackoverflow.com/questions/144 ... -condition
Мобильная версия