Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.03.2008, 23:46
Vitality13 вне форума Посмотреть профиль Отправить личное сообщение для Vitality13 Найти все сообщения от Vitality13
  № 1  
Ответить с цитированием
Vitality13

Регистрация: Mar 2008
Сообщений: 3
По умолчанию Поиск по сайту

Здравствуйте.

Помогите разобраться в составлении поиска по сайту.
В составе сайта около 1000 статических страниц HTML. Множество страниц находится в папках. Я хочу сделать поиск по всем страницам с помощью РНР и MySQL. Для это мне необходимо что-то сделать с помощью РНР, что бы занести всю информацию в БД. Подскажите, каким образом нужно обработать информацию со всех страниц, чтобы убрать тэги и поместить в таблицу в БД. (вроде как с помощью буферизации или я ошибаюсь?) Как выглядит этот код и где он должен находиться?

Спасибо.

Старый 29.03.2008, 19:58
UnVisible вне форума Посмотреть профиль Отправить личное сообщение для UnVisible Найти все сообщения от UnVisible
  № 2  
Ответить с цитированием
UnVisible

Регистрация: Mar 2008
Сообщений: 29
Вот тебе функция которая убирает ХТМЛ и ПХП теги:
strip_tags($text);
Ну а далее, если ты уже решил занести в базу (хотя первый раз слышу чтобы так делали =), лучше наверно будет через explode(' ',$file_content),
или сразу прочитать файл как массив, потом фильтрануть его на уникальность слов, чтобы не повторялись.
Потом занести это дело в базу с полями типа: ID | WORD | URL_PAGE | PAGE_NAME
При заносе следующей страницы проверять нет ли такого слова уже в базе запросом типа SELECT id WHERE word LIKE '%'.mysql_escape_string($word).'%'
Вот и все =)

ПРи поиске, берем текст что ввел клиент, делаем с нево масив слов и генерируем запрос и получаем результат! =)

Старый 27.05.2008, 22:08
Vitality13 вне форума Посмотреть профиль Отправить личное сообщение для Vitality13 Найти все сообщения от Vitality13
  № 3  
Ответить с цитированием
Vitality13

Регистрация: Mar 2008
Сообщений: 3
Прежде всего спасибо большое, что ответили.
Прошло довольно много времени, но вопрос об организации поиска для меня остается открытым. На одном из форумов нашел следующую структуру:

"Поиск через БД Mysql
алгоритм следующий:
1. создаем таблицу

CREATE TABLE search (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
url VARCHAR(200),
content TEXT,
FULLTEXT (content)
);


2. буферизируем ссылку

$url=index.php //Как я понимаю, это начальная страница
$bufer = file_get_contents($url);


3. обрабатываем информацию

$bufer = htmlspecialchars(stripslashes($bufer));


4. записываем в БД

$sql=mysql_query("insert into search (url, content) values ('$url', '$bufer')");


PS необходимо еще будет придумать автоматический обход ссылок по сайту и пункты со 2 по 4 поместить в функцию перехода по ссылкам"

Подскажите, существует ли подобный "автоматический обход ссылок" и что он из себя представляет? Если возможно, приведите пример в виде кода.
Подскажите, какие существуют альтернативные способы поиска! Только в кодировке я не силен - можно сказать новичок, поэтому прошу приводить коды в качестве примера.
Также, буду благодарен любому источнику информации по данному вопросу!

Спасибо!

Старый 03.06.2008, 10:14
dmx102 вне форума Посмотреть профиль Отправить личное сообщение для dmx102 Найти все сообщения от dmx102
  № 4  
Ответить с цитированием
dmx102
[+4 03.05.08]
 
Аватар для dmx102

Регистрация: Apr 2008
Адрес: Москва - Moscow
Сообщений: 46
Отправить сообщение для dmx102 с помощью ICQ
Я бы советовал смотреть в сторону Яндекс.XML...
__________________
Хочешь спросить что-либо? Cначала спроси Google!

Старый 13.06.2008, 04:38
ilzhan вне форума Посмотреть профиль Отправить личное сообщение для ilzhan Найти все сообщения от ilzhan
  № 5  
Ответить с цитированием
ilzhan
 
Аватар для ilzhan

Регистрация: Jul 2005
Адрес: Ufa
Сообщений: 30
Отправить сообщение для ilzhan с помощью ICQ
А я бы посоветовал DataparkSearch Engine и Яndex.Server

Старый 21.08.2008, 16:22
Vitality13 вне форума Посмотреть профиль Отправить личное сообщение для Vitality13 Найти все сообщения от Vitality13
  № 6  
Ответить с цитированием
Vitality13

Регистрация: Mar 2008
Сообщений: 3
Здравствуйте

Прошу помочь разобраться в ошибках с поиском.
У меня есть БД MySQL с таблицей такой структуры:
Код:
CREATE TABLE search (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
url VARCHAR(200),
body TEXT,
FULLTEXT (title)
) TYPE=MyISAM;
Форма для поиска:
Код:
<form action="search.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="230" border="0" cellpadding="0" cellspacing="0" class="text">
<tr align="center" class="text">
<td width="150"><input name="name" type="text" id="name" value='<?php echo $name; ?>' size="20" maxlength="50" /></td>
<td width="80"><label>
<input type="submit" name="button_search" id="button_search" value="Поиск" />
<input type="hidden" name="scr" value="1">
</label></td>
</tr>
</table>
</form>
Поиск осуществляется по следующему сценарию:
Код:
<?php

  if(isset($_POST['scr']))
  {
  if(empty($name))
{
  echo "<DL><DT>Не введено искомое слово
            <DD>Введите поисковое слово и повторите поиск.</DL>";
  exit();
}
    $name = trim($name);
        $query = "SELECT * FROM search WHERE MATCH(body) AGAINST('$_POST[name]*' IN BOOLEAN MODE)
        GROUP BY id ASC";
       $post = mysql_query($query);
        if($post)
        {
          $num = mysql_num_rows($post);
          if($num>0)
          {
          echo"
              <DL>
              <DT>По поисковому запросу найдено соответствий: $num
              </DL>
              <DL>";
            while($posts = mysql_fetch_array($post))
            {
             echo "<DT><a href=http://".$posts['url'].">".$posts['body']."</a><br>";
            }
                   echo "</DL>";
          }
          else
          {
            echo "<DL><DT>По поисковому запросу ничего не найдено.
            <DD>Попробуйте изменить искомое слово.</DL>";
			exit();
          }
        }
          }
?>
Поиск сам работает, из базы данных выводится результат. Но есть несколько проблем, которые не могу никак устранить:
1) При не заполненном поле ввода поиска или при отсутствии искомого в БД, выдается ошибка, как прописано в коде, но код, идущий за пхп-кодом не выполняется. Такое ощущение, что после выполнения операции
Код:
exit();
чтение кода прекращается... Но при выполнении поиска и выводе положительного результата в виде ссылки, все нормально. Помогите разобраться.
2) При следующем поиске (другого искомого слова) результат приписывается к предыдущему, вместо его замены... Выходит, что вместе с последним результатом на страницу выводится все то, что искалось до этого.
Помогите найти и устранить ошибки.
И еще кое-что. Возможно ли, чтобы при нахождении единственного результата поиска, осуществить переход сразу на страницу, содержащую искомое, без вывода ссылки-посредника (как сделано в этом коде), ведь в БД хранится запись с полем url, где прописан адрес страницы.

Заранее спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.