Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск в базе данных одного или более слов
 
 автор: 2005   (22.12.2005 в 16:22)   письмо автору
 
 

Подскажите пожулуйста,
если в строку HTML-формы, которая будет передана посредством submit() в какой-то обработчик PHP забиваются 2 (или более) поисковых слов (например: компьтер, купить, москва), то как должен формироваться $Query-запрос чтобы по одному (или нескольком) столбцам БД можно было найти строки в который встречаются:

а) хотябы одно из поисковых слов;
б) все поисковые слова

   
 
 автор: cheops   (22.12.2005 в 16:33)   письмо автору
 
   для: 2005   (22.12.2005 в 16:22)
 

В любом случае лучше фразу разбить на отдельные слова, либо при помощи функции explode(), либо при помощи preg_split(), а далее формировать запрос
а) используя для связки OR
б) используя для связки AND
Вы что используется для поиска LIKE, RLIKE или полнотекстовый поиск?

   
 
 автор: 2005   (22.12.2005 в 16:46)   письмо автору
 
   для: cheops   (22.12.2005 в 16:33)
 

Спасибо за ответ!

Вчера впервые узнал о существовании функции LIKE (так что пока только ее и использую)
а как быть с разбиением на слова, ведь если из формы уходит слово написанное на кирилице, то переменная представляет собой конвертированный набор символов?

не могли-бы показать какой-нибудь пример кода?

   
 
 автор: cheops   (22.12.2005 в 17:52)   письмо автору
 
   для: 2005   (22.12.2005 в 16:46)
 

А вы его декодируйте при помощи функции urldecode()
<?php
  
// Декодируем
  
$text urldecode($_GET['text']);
  
// Разбиваем строку на массив слов
  
$arr preg_split("/[\s]+/"$text);
?>

>Вчера впервые узнал о существовании функции LIKE (так что
>пока только ее и использую)
Возможно вам будут интересны следующие ссылки
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=514
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=807
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3447
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5311
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6620
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5828
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6101
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4699
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3696
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4797
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3923
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3447

   
 
 автор: 2005   (22.12.2005 в 17:59)   письмо автору
 
   для: cheops   (22.12.2005 в 17:52)
 

Еще раз спасибо - сейчас начну разбираться!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования