|
|
|
|
|
для: Job
(03.06.2007 в 03:44)
| | Задача стояла такова:
Если введенное слово болше 3 символов => поиск, иначе ошибка | |
|
|
|
|
|
|
|
для: skazi
(03.06.2007 в 01:29)
| | Дак если запросить % он всю таблицу выдаст | |
|
|
|
|
|
|
|
для: Loki
(01.06.2007 в 20:54)
| | а тогда куда писать Обпаботку* | |
|
|
|
|
|
|
|
для: skazi
(01.06.2007 в 20:06)
| | Что-то я не усматриваю связи между длиной запроса в три символа и запросом LIKE...
это если не праить в расчет, что у вас входные данные обрабатываются неправильно. | |
|
|
|
|
|
|
|
для: mihdan
(31.05.2007 в 18:33)
| | Поиск по mysql я реализовал так (с помощью этого форума):
<FORM METHOD=POST ACTION="<?=$_SERVER['PHP_SELF']?>">
<B>ПОИСК</B> <strong> ПО САЙТУ</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) == 0 ) { 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;
?>
|
| |
|
|
|
|
|
|
|
для: gumplen
(29.05.2007 в 15:01)
| | Свяжитесь со мной по мылу | |
|
|
|
|
|
|
|
для: gumplen
(30.05.2007 в 15:02)
| | Если рассматривать вопрос в рамках курсовой, алгоритмы могут быть следующие:
1) Хранение информации в базе данных и поиск по ней (лучше отталкиваться именно от этого варианта) - рассмотртеть операторы LIKE, RLIKE и полнотектовый поиск (было бы хорошо, если для нескольких баз данных - MySQL, InterBase, MS SQL, Oracle - не получится, можно для одной). Преимущество - высокая скорость, недостатки - ищутся не страницы, а записи
2) Поиск по статическому сайту путём его индексации при помощи специального робота или системы администрирования. Т.е. робот обходит сайт и создаёт один файл с ключевыми словами и ссылками, где он их нашёл. Достоинства - идёт поиск страниц, недостатки - ресурсоёмко, сложно-создаваемо, количество ключевых слов ограничено.
3) Внешний поиск, осуществляющийся при помощи специального сервера, например, Yandex - достоинства - ничего делать не нужно кроме как установить и пользоваться. Недостатки - логика зашита в сервер и не поддаётся коррекции - полноценная версия продаётся за деньги (порядка 2.5 миллиона рублей). Нужно быть администратором всего сервера, чтобы установить эту систему.
PS Я бы по такой схеме выстраивал логику. | |
|
|
|
|
|
|
|
для: gumplen
(30.05.2007 в 15:27)
| | Прикрепил к предыдущему сообщению..... Буду за тебя рад, если пригодится... | |
|
|
|
|
|
|
|
для: Jackson
(30.05.2007 в 15:23)
| | Спасибо | |
|
|
|
|
|
|
|
для: gumplen
(30.05.2007 в 15:02)
| | Когда-то наткнулся на интересующую тебя тему, скопировал все в док, могу кинуть на мыло...
хм...сразу крепежку не увидел... | |
|
|
|
|