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

Форум PHP

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

 

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

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

тема: Поиск информации на сайте

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

 
 автор: skazi   (03.06.2007 в 18:40)   письмо автору
 
   для: Job   (03.06.2007 в 03:44)
 

Задача стояла такова:
Если введенное слово болше 3 символов => поиск, иначе ошибка

   
 
 автор: Job   (03.06.2007 в 03:44)   письмо автору
 
   для: skazi   (03.06.2007 в 01:29)
 

Дак если запросить % он всю таблицу выдаст

   
 
 автор: skazi   (03.06.2007 в 01:29)   письмо автору
 
   для: Loki   (01.06.2007 в 20:54)
 

а тогда куда писать Обпаботку*

   
 
 автор: Loki   (01.06.2007 в 20:54)   письмо автору
 
   для: skazi   (01.06.2007 в 20:06)
 

Что-то я не усматриваю связи между длиной запроса в три символа и запросом LIKE...
это если не праить в расчет, что у вас входные данные обрабатываются неправильно.

   
 
 автор: skazi   (01.06.2007 в 20:06)   письмо автору
 
   для: mihdan   (31.05.2007 в 18:33)
 

Поиск по mysql я реализовал так (с помощью этого форума):


<FORM METHOD=POST ACTION="<?=$_SERVER['PHP_SELF']?>">
<B>ПОИСК</B>&nbsp;<strong>&nbsp;ПО САЙТУ</strong>
<input type="text" name="query" size="15" maxlength=100 value="" style="{border: inset 1px; background: #EEEEEE;}">
<input type=submit value=" Ок ">
</FORM>
<?
if(!empty($_POST['query']))
{
$name=$_POST['query'];
if (
$name) { 
//Если запрос дольше трех символов - производим запрос в бд
if(strlen($name) >= 3) {
$query "SELECT * FROM `texts` WHERE `text` LIKE '%".mysql_real_escape_string($name)."%'"
$result mysql_query($query);
if (!
$result) die("Error!"); 
if (
mysql_num_rows($result) == ) { echo "По вашему запросу ничего не найдено"; }
while(
$row=mysql_fetch_array($result)) {
for(
$i=0$i mysql_num_rows($result); $i++) { 
$needle ''.$name.''$s1 ''$s2 =''$len 10// $len - это длина выводимых слов до и после найденного слова
$array explode(' '$row['text']); 
$id array_search($needle$array); $plus$id+1$minus $id-$len;
for(
$i=0;$i<$len;$i++){ $s1.= $array[$minus].' '$s2.= $array[$plus].' '$plus++;$minus++; }  
$rezz.= "<br><br><a href=$_SERVER[PHP_SELF]?page=".$row['id'].">".$row['title']."</a><br>...".$s1.'<b>'.$needle.'</b> '.$s2.'..';
}
}
} else { echo 
"Ваш запрос слишком короткий"; }
}
echo 
$rezz;
?>

   
 
 автор: mihdan   (31.05.2007 в 18:33)   письмо автору
 
   для: gumplen   (29.05.2007 в 15:01)
 

Свяжитесь со мной по мылу

   
 
 автор: cheops   (31.05.2007 в 10:47)   письмо автору
 
   для: gumplen   (30.05.2007 в 15:02)
 

Если рассматривать вопрос в рамках курсовой, алгоритмы могут быть следующие:
1) Хранение информации в базе данных и поиск по ней (лучше отталкиваться именно от этого варианта) - рассмотртеть операторы LIKE, RLIKE и полнотектовый поиск (было бы хорошо, если для нескольких баз данных - MySQL, InterBase, MS SQL, Oracle - не получится, можно для одной). Преимущество - высокая скорость, недостатки - ищутся не страницы, а записи
2) Поиск по статическому сайту путём его индексации при помощи специального робота или системы администрирования. Т.е. робот обходит сайт и создаёт один файл с ключевыми словами и ссылками, где он их нашёл. Достоинства - идёт поиск страниц, недостатки - ресурсоёмко, сложно-создаваемо, количество ключевых слов ограничено.
3) Внешний поиск, осуществляющийся при помощи специального сервера, например, Yandex - достоинства - ничего делать не нужно кроме как установить и пользоваться. Недостатки - логика зашита в сервер и не поддаётся коррекции - полноценная версия продаётся за деньги (порядка 2.5 миллиона рублей). Нужно быть администратором всего сервера, чтобы установить эту систему.

PS Я бы по такой схеме выстраивал логику.

   
 
 автор: Jackson   (30.05.2007 в 15:30)   письмо автору
 
   для: gumplen   (30.05.2007 в 15:27)
 

Прикрепил к предыдущему сообщению..... Буду за тебя рад, если пригодится...

   
 
 автор: gumplen   (30.05.2007 в 15:27)   письмо автору
 
   для: Jackson   (30.05.2007 в 15:23)
 

Спасибо

   
 
 автор: Jackson   (30.05.2007 в 15:23)   письмо автору
 
   для: gumplen   (30.05.2007 в 15:02)
 

Когда-то наткнулся на интересующую тебя тему, скопировал все в док, могу кинуть на мыло...
хм...сразу крепежку не увидел...

   

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

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

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