SeregaDa Posted January 12, 2014 Report Share Posted January 12, 2014 В карточке товара завел дополнительное поле varchar(500). В это поле через разделитель планируется вводить некоторые идентификаторы, по которым можно отыскать товар на сайте. В файле api/Products.php пытаюсь настроить поиск по этому полю. Можно ли на уровне SQL-запроса добиться того, чтобы товар искался по строгому совпадению с любым из идентификаторов дополнительного поля? Quote Link to post Share on other sites
Kosjak76 Posted January 12, 2014 Report Share Posted January 12, 2014 Через что? Чем вам LIKE без % не устраивает? Quote Link to post Share on other sites
SeregaDa Posted January 12, 2014 Author Report Share Posted January 12, 2014 Вот с LIKE у меня не получается грамотно запрос выстроить. Допустим, в поле meta_new = 123,456 OR p.meta_new LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") При подобной конструкции при вводе в строку поиска "12" или "56" товар будет обнаружен. А хочется, только чтобы при вводе 123 или 456 данный товар находился. Возможно, надо просто дополнить условие? С find_in_set сейчас познакомлюсь... Quote Link to post Share on other sites
SeregaDa Posted January 13, 2014 Author Report Share Posted January 13, 2014 1. find_set_(value,meta_new);2. meta_new LIKE concat('%,',value,',%') OR meta_new LIKE concat(value,',%') OR meta_new LIKE concat('%,',value) OR meta_new LIKE concat(value)1. Вариант вполне работоспособен.2. Не тестил, но насколько могу проследить логику, покажет не только однозначное совпадение, но и всякие включения. Возможно, и ошибаюсь. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.