Прошу вашей помощи уважаемые специалисты (возможно за символическую награду)!!! Нужен поиск по сайту посредством php из таблици msql. Таблица: pages; поля: page_id,title,keywords,description,text,text_1,text_2,date. А может какие то спец настройки в самой БД необходимо сделать??? <!-- Блок под поиск --> <div id="searsh"> <form name="search" method="post" action="view_search.php"> <input type="search" name="query" placeholder="Поиск"> <button type="submit">Найти</button> </form> </div> <?phprequire("parts/connection.php"); //Запрос в базу данных (pages) для вывода на экран информации из всех полей (title, desciption, keywords, text)$query = mysql_query("SELECT title, description, keywords, text, text_1, text_2, date FROM pages",$db);//При ошибки запроса базы данныхif (!$query){ exit('Ошибка базы данных');}//$res = mysql_fetch_array($query); / Подключение файла куда входят (название сайта, ключевые слова, описание, подключение стилий и скриптов ... )?> <?php//Защита полейif (isset($_POST['submit_s'])){ $submit_s = $_POST['$submit_s'];}if (isset($_POST['search'])){ $search = $_POST['search'];}if (isset($submit_s)){ if (empty($search) or strlen($search) < 4 ) { exit ("<p>Поисковой запрос не введён, либо он менее 4ех символов!</p>"); } $search = trim($search);$search = stripslashes($search);$search = htmlspecialchars($search);}else{ exit("<p>Вы обратились к файлу без необходимых параметров!</p>");}$result = mysql_query("SELECT page_id,title,keywords,description,text,text_1,text_2,date FROM pages WHERE MATCH(text) AGAINST('$search')",$db);if (!$result){ echo "<p>Запрос на выборку данных из базы не прошол. Напиши об этом администратору p.f1@yandex.ru <br><strong>Код ошибки: </strong></p>"; exit(mysql_error());}if (mysql_num_rows($result) > 0){ while ($myrow = mysql_fetch_array($result)); } else { echo "<span class='error_span_p'><p class='error_error'>Поиск не дал результатов? попробуйте правильно перефразировать ваш запрос, и тогда найдется всё.</p></span>"; exit();}?> МОЖЕТ У КОГО ЕСТЬ ДРУГОЙ ПОЛНОЦЕННЫЙ СКРИПТ ПОИСКА С ЗАЩИТОЙ ПОЛЕЙ и с коментариями??? или этот получится довести до ума! ГОТОВ ОТБЛАГОДАРИТЬ МАТЕРИАЛЬНО! p.f1@yandex.ru
сфинкс Добавлено спустя 51 секунду: т.к. хоть символическая, но награда упомянута - то перенёс тему во фриланс раздел об объявлениях о разовой работе.
Т.е. подразумевается, что пользователь ввел запрос, поиск будет рыть всю базу: искать в заголовках, по ключевым словам и тексте? Нужно подробно объяснить задачу. Что вы хотите получить. Т.е. объясните, что должно происходить и как, не на программном уровне, а на уровне пользователя. Сколько максимально слов может ввести пользователь - одно два? Например, у меня есть сайт. На сайте публикуются статьи - структура таблицы: номер, дата, заголовок,текст. Есть только поиск по словам в заголовках. Лимит 20 записей. Фактически, справочник: вводишь слово, получаешь 20 ссылок на статьи, где в заголовке есть это слово. Если нужно рыть всё и вся, выводить почти неограниченное число записей, как у Яндекса, комбинировать ключевые слова, учитывать ошибки ввода и морфемы, то разработка такой программы вам встанет в копеечку.
Существует некий шаблон сайта. Навигация находятся в БД (заполненная контентом). Не обходимо при вводе в поле поиска любого слова, при совпадении которого с содержащимся в БД будет выведена вся статья (или несколько статей) на монитор!!! В поле БД (text) находятся и заголовки и сама статья. А как лучше в БД сделать отдельно поле с заголовками и производить поиск по этому полю? p.f1@yandex.ru