Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запросы like в базу данных

1.9K
19 апреля 2004 года
olegking
45 / / 21.02.2004
1) Я хочу сделать поиск or, подскажите как его сделать, вот так я ищу AND:
$gooda=str_replace(" ","%","$good");
$resrazq = mysql_query("SELECT * FROM news where textnews LIKE '%$gooda%'");

2) Какой должен быть запрос, если мне нужно искать в нескольких полях таблицы, например textnews и subj ??????

3) Как ограничить поиск, чтобы искала например в полях в которых date>$dater???
4
20 апреля 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by olegking
1) Я хочу сделать поиск or, подскажите как его сделать, вот так я ищу AND:
$gooda=str_replace(" ","%","$good");
$resrazq = mysql_query("SELECT * FROM news where textnews LIKE '%$gooda%'");



Придется разбирвать на отдельные слова:

 
Код:
$e=explode($good," ");
$sql='
for ($i=0;$i<count($e);$i++) {
   $sql.=" OR textnews like '
%".$e[$i]."%'";
   }
$resrazq=mysql_query("SELECT * FROM news WHERE ".substr($sql,3);


Не забывай проверять передаваемую строку на ненужные символы.
Цитата:

2) Какой должен быть запрос, если мне нужно искать в нескольких полях таблицы, например textnews и subj ??????



SELECT * FROM table WHERE textnews="тест" AND subj="тест";

Цитата:


3) Как ограничить поиск, чтобы искала например в полях в которых date>$dater???



SELECT * FROM table WHERE textnews="тест" AND subj="тест" AND date>"2001-02-03 15:12:43";

P.S. Все что тут написано писалось прямо тут, не проверялось и может не работать. Главное - смысл.

1.9K
20 апреля 2004 года
olegking
45 / / 21.02.2004
[QUOTE]Originally posted by mike


Придется разбирвать на отдельные слова:

 
Код:
$e=explode($good," ");
$sql='
for ($i=0;$i<count($e);$i++) {
   $sql.=" OR textnews like '
%".$e[$i]."%'";
   }
$resrazq=mysql_query("SELECT * FROM news WHERE ".substr($sql,3);


Не забывай проверять передаваемую строку на ненужные символы.


SELECT * FROM table WHERE textnews="тест" AND subj="тест";
-----------------------------------------

Спасибо большое помогли, только вот это должно выглядеть несколько иначе, но всё равно немного подправить и всё ОК.
$e=explode(" ",$good);
for ($i=0;$i<count($e);$i++) {
$sql.=" OR textnews like '%".$e[$i]."%'";
}
$resrazq=mysql_query("SELECT * FROM news WHERE ".substr($sql,3)."");
}
------------------------------------------
Скажи пожалуйста ещё как проверять строку на ненужные символы, в смысле я знаю что preg_replace, я просто не знаю какие из них ненужные, но думаю что кто-нить знает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог