Jump to content

Поиск по дополнительному полю товара


Recommended Posts

В карточке товара завел дополнительное поле varchar(500). В это поле через разделитель планируется вводить некоторые идентификаторы, по которым можно отыскать товар на сайте. В файле api/Products.php пытаюсь настроить поиск по этому полю. Можно ли на уровне SQL-запроса добиться того, чтобы товар искался по строгому совпадению с любым из идентификаторов дополнительного поля?

Link to post
Share on other sites

Вот с LIKE у меня не получается грамотно запрос выстроить. Допустим, в поле meta_new = 123,456

OR p.meta_new LIKE "%'.mysql_real_escape_string(trim($keyword)).'%")

При подобной конструкции при вводе в строку поиска "12" или "56" товар будет обнаружен. А хочется, только чтобы при вводе 123 или 456 данный товар находился. Возможно, надо просто дополнить условие?

 

С find_in_set сейчас познакомлюсь...

Link to post
Share on other sites

 

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. Не тестил, но насколько могу проследить логику, покажет не только однозначное совпадение, но и всякие включения. Возможно, и ошибаюсь.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...