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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Поиск по словам

Сообщения:  [1-10]   [11-12] 

 
 автор: cheops   (01.12.2005 в 23:41)   письмо автору
 
   для: Killer   (01.12.2005 в 14:50)
 

Да необходимо перейти в логический режим (IN BOOLEAN MODE). Подробности в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5311
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148

   
 
 автор: Killer   (01.12.2005 в 14:50)   письмо автору
 
   для: cheops   (28.11.2005 в 20:09)
 

>1) Нет, имеется ввиду IN BOOLEAN MODE - только там доступны
>модификаторы.
Мне нужно переходить на BOOLEAN в MySQL?
Или поясните подробнее.

   
 
 автор: cheops   (28.11.2005 в 20:09)   письмо автору
 
   для: Killer   (28.11.2005 в 17:30)
 

1) Нет, имеется ввиду IN BOOLEAN MODE - только там доступны модификаторы.
2) Internet Explorer не поддерживает RRS, это пока реализовано в продвинутых браузерах таких браузер как Opera. По ссылке XML-файл - поэтому его и не видно.

   
 
 автор: Killer   (28.11.2005 в 17:30)   письмо автору
 
   для: cheops   (28.11.2005 в 13:49)
 

>1) Вы хотите работать в логическом режиме?
>
Да. А вы что, без "логики" работаете?

2) Уведомления отключены из-за нагрузки на почтовый сервер, для получения уведомлений следует пользоваться RSS http://www.softtime.ru/forum/xml.php

Там пустая страница выходит

   
 
 автор: cheops   (28.11.2005 в 13:49)   письмо автору
 
   для: Killer   (27.11.2005 в 21:57)
 

1) Вы хотите работать в логическом режиме?
2) Уведомления отключены из-за нагрузки на почтовый сервер, для получения уведомлений следует пользоваться RSS http://www.softtime.ru/forum/xml.php

   
 
 автор: Killer   (27.11.2005 в 21:57)   письмо автору
 
   для: cheops   (27.11.2005 в 20:25)
 

Спасибо, получилось.
Еще тогда вопрос, а что нужно добавить в запрос чтоб выполнялось "И"? А то были проблемы с ИЛИ, а теперь наоборот получается. В инструкции смотрел, там + надо куда то ставить чтобы слово присутствовало обязательно, а если у меня переменная?

И не в тему. Не знаете, почему на мыло не приходят уведомления об обновлении темы? (Про этот форум) Я галочку поставил.

   
 
 автор: cheops   (27.11.2005 в 20:25)   письмо автору
 
   для: Killer   (27.11.2005 в 19:30)
 

Кавычки всё-равно нужны - так как это не PHP, а MySQL - Т.е. ваш запрос должен выглядеть так
<?php
$query 
"SELECT * FROM message WHERE hide='show'&& MATCH (msg) AGAINST ('$line_request')";
?>

   
 
 автор: Killer   (27.11.2005 в 19:30)   письмо автору
 
   для: Killer   (27.11.2005 в 17:40)
 

Сделал FULLTEXT
Понял, что тут preg_split() делать не надо.
Но почему то у меня не работает запрос через переменную.

$query = "SELECT * FROM message WHERE hide='show'&& MATCH (msg) AGAINST ('запрос') - все работает


<td><p class=poisk><b>&nbsp;&nbsp;&nbsp;Введите слова для поиска</b></td>
<td><input type=text name=line_request maxlength=30 size=30 ></td> (ввел 'запрос')

...

$line_request = substr($_POST['line_request'],0,1024);
$line_request = htmlspecialchars(stripslashes($line_request));

$query = "SELECT * FROM message WHERE hide='show'&& MATCH (msg) AGAINST ($line_request) - запрос равен нулю???

   
 
 автор: Killer   (27.11.2005 в 17:40)   письмо автору
 
   для: cheops   (27.11.2005 в 13:54)
 

Спасибо, cheops, все перечитал, но к сожалению так и не нашел ответа на главный для себя вопрос: "Как организовать строку запроса при логике "ИЛИ" при 3,4,5,....100:-))) слов?
Больше понравился FULLTEXT.
А как у вас организован запрос при "ИЛИ"?


Вот как у меня находится массив с ключевыми словами.

$line_request = substr($_POST['line_request'],0,1024);
$line_request = htmlspecialchars(stripslashes($line_request));

$array_txt=$line_reguest;
if ($logic='or') {$array_txt = preg_split("/[,\.\s]/", $line_request)}; 

$word="\%.$line_request.\%";  

//Вот это понятно как сделать (с логикой И)

$query = "SELECT * FROM message WHERE hide = 'show'&& mess LIKE $word; // Тут могут быть неточности, но суть в том что это логика "И"

$query = "SELECT * FROM message WHERE  MATCH hide AGAINST 'show' MATCH mess AGAINST $line_request;


А куда foreche "запихать"?

   
 
 автор: cheops   (27.11.2005 в 13:54)   письмо автору
 
   для: Killer   (27.11.2005 в 11:16)
 

Смысл работы с логикой "И" и "ИЛИ" следующий - имеется фраза - она разбивается на массив слов при помощи функции explode() или preg_split(). Далее осуществляют поиск каждого из слова, объединяя их либо операторами AND либо OR. На всякий случай приведу наиболее интересные темы по поиску, если вдруг какую-то пропустили

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=5311
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=6439
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

PS Вопросы, посвящённые поиску по базе данных лучше сразу задавать в разделе MySQL

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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