Изменить поиск по базе данных

T
На сайте с 25.03.2011
Offline
121
307

Добрый день. Как правильно изменить поиск по базе данных, если в поле poisk прописаны ключевые слова и словосочетания через запятую?

На данный момент:

$result=mysql_query ("SELECT title, meta_d,meta_k,text FROM menu WHERE poisk like '%$search%'",$db);

Например, как сделать, если прописано в poisk: "дешевые компьютеры, принтеры, мышки", то искало бы полностью сочетание "дешевые компьютеры"...а просто бы "компьютеры" не искало бы..

Joker-jar
На сайте с 26.08.2010
Offline
171
#1

<?php

$search = 'дешевые компьютеры, принтеры, мышки';

$search = explode(',', $search);
$search = array_map('trim', $search);

$sql = 'SELECT title, meta_d, meta_k, text FROM menu WHERE poisk LIKE "%' . implode('%" OR poisk LIKE "%', $search) . '%"';

echo $sql;

?>
T
На сайте с 25.03.2011
Offline
121
#2

Joker-jar, извините, кажется я не четко выразился...poisk - это поле в базе данных mysql...в этом поле прописаны словосочетания через запятую

---------- Добавлено 02.09.2013 в 17:57 ----------

Или подскажите пожалуйста готовое решение.....для каждой статьи у меня привязаны ключевые слова и словосочетания (в поле poisk)....

Главная проблема в том, что иногда пересекаются слова. Например, в одной статье ключевые слова: дорогие компьютеры, а в другой - дешевые компьютеры...Если пользователь пишет "компьютер", то получается пересечение....

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий