За последние 24 часа нас посетили 15782 программиста и 1666 роботов. Сейчас ищут 882 программиста ...

Поиск по сайту посредством php из таблици msql

Тема в разделе "PHP Free-Lance", создана пользователем p100, 2 сен 2014.

  1. p100

    p100 Новичок

    С нами с:
    2 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    Прошу вашей помощи уважаемые специалисты (возможно за символическую награду)!!! Нужен поиск по сайту посредством 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
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сфинкс

    Добавлено спустя 51 секунду:
    т.к. хоть символическая, но награда упомянута - то перенёс тему во фриланс раздел об объявлениях о разовой работе.
     
  3. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    не проще гугл поиск поставить
     
  4. dcc0

    dcc0 Активный пользователь

    С нами с:
    27 июн 2014
    Сообщения:
    217
    Симпатии:
    4
    Т.е. подразумевается, что пользователь ввел запрос, поиск будет рыть всю базу: искать в заголовках, по ключевым словам и тексте?
    Нужно подробно объяснить задачу. Что вы хотите получить. Т.е. объясните, что должно происходить и как, не на программном уровне, а на уровне пользователя. Сколько максимально слов может ввести пользователь - одно два?
    Например, у меня есть сайт. На сайте публикуются статьи - структура таблицы: номер, дата, заголовок,текст.
    Есть только поиск по словам в заголовках. Лимит 20 записей. Фактически, справочник: вводишь слово, получаешь 20 ссылок на статьи, где в заголовке есть это слово. Если нужно рыть всё и вся, выводить почти неограниченное число записей, как у Яндекса, комбинировать ключевые слова, учитывать ошибки ввода и морфемы, то разработка такой программы вам встанет в копеечку.
     
  5. p100

    p100 Новичок

    С нами с:
    2 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    Существует некий шаблон сайта. Навигация находятся в БД (заполненная контентом). Не обходимо при вводе в поле поиска любого слова, при совпадении которого с содержащимся в БД будет выведена вся статья (или несколько статей) на монитор!!! В поле БД (text) находятся и заголовки и сама статья. А как лучше в БД сделать отдельно поле с заголовками и производить поиск по этому полю? p.f1@yandex.ru
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Сфинкс :D
     
  7. p100

    p100 Новичок

    С нами с:
    2 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    igordata можно ссылку на тему во фриланс раздел об объявлениях о разовой работе
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768