gothicqqq Опубликовано 18 апреля, 2014 Жалоба Поделиться Опубликовано 18 апреля, 2014 Подскажите как сделать поиск по краткому или полному описанию товара,спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Виталий Анатольевич Опубликовано 18 апреля, 2014 Решение Жалоба Поделиться Опубликовано 18 апреля, 2014 api/Products.php примерно 93 строка if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) $keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") '); } изменяем на if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) $keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.annotation LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.body LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") '); } так же можно добавить все что угодно Цитата Ссылка на сообщение Поделиться на другие сайты
Pro Опубликовано 19 апреля, 2014 Жалоба Поделиться Опубликовано 19 апреля, 2014 А по свойству как подскажите? Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 20 апреля, 2014 Жалоба Поделиться Опубликовано 20 апреля, 2014 а чем Вам $filter['features'] не устраивает? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 21 апреля, 2014 Жалоба Поделиться Опубликовано 21 апреля, 2014 Видимо, тем, что относится к фильтру по рекомендованным товарам и к поставленной задаче - поиск по свойству - совсем никаким боком не относится...Вместо того чтобы оспаривать чужое (не правильное) решение и разводить ни кому не нужный базар лучше бы помогли ТС. Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 21 апреля, 2014 Жалоба Поделиться Опубликовано 21 апреля, 2014 опять базар-вокзал.... а где у меня ошибка в решении? Я спросил для уточнения Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 21 апреля, 2014 Жалоба Поделиться Опубликовано 21 апреля, 2014 Спасибо за пояснение. Но Я бы хотел услушать ответ от автора Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 Спасибо за пояснение. Но Я бы хотел услушать ответ от автораВы думаете он поймет как это применить? ТС нужно готовое решение. Цитата Ссылка на сообщение Поделиться на другие сайты
Vadim1988 Опубликовано 10 апреля, 2017 Жалоба Поделиться Опубликовано 10 апреля, 2017 api/Products.php примерно 93 строка if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) $keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") '); } изменяем на if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) $keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.annotation LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.body LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") '); } так же можно добавить все что угодно Добрый день! Подскажите пожалуйста, как реализовать поиск по описанию.Данный вариант не подходит, у меня строк по больше: if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) { $kw = $this->db->escape(trim($keyword)); if($kw!=='') $keyword_filter .= $this->db->placehold("AND (p.name LIKE '%$kw%' OR p.meta_keywords LIKE '%$kw%' OR p.id in (SELECT product_id FROM __variants WHERE sku LIKE '%$kw%'))"); } } Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 апреля, 2017 Жалоба Поделиться Опубликовано 10 апреля, 2017 Добавить OR p.description LIKE '%$kw%' Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 10 апреля, 2017 Жалоба Поделиться Опубликовано 10 апреля, 2017 description в Товаре нетЕсть body или annotation Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 апреля, 2017 Жалоба Поделиться Опубликовано 10 апреля, 2017 description в Товаре нет Есть body или annotationБесит разное название переменных в категории, товаре и странице, куда бы было правильнее сделать везде description чтобы н путать. Добавить нужно OR p.body LIKE '%$kw%' Цитата Ссылка на сообщение Поделиться на другие сайты
Vadim1988 Опубликовано 10 апреля, 2017 Жалоба Поделиться Опубликовано 10 апреля, 2017 Бесит разное название переменных в категории, товаре и странице, куда бы было правильнее сделать везде description чтобы н путать.Добавить нужно OR p.body LIKE '%$kw%' Спасибо большое))) Все работает! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.