Методы решения задачи: «Реализация поисковой системы интернет магазина»

В основе метода создание поисковой системы интернет магазина, лежит реализация на языке PHP различных методов обработки и сортировки данных.

Для понимания сути методов привожу классификацию типов функций PHP, которые предназначены для сортировки и обработки данных, содержащихся в массивах и Базах данных.

    Информационные функции. Например, получение количества элементов.

(в нашей работе используется strstr)

    Преобразование различных типов данных в массивы и наоборот. Этот тип функций позволяет, например, перейти от строкового представления к массиву значений.

(в нашей работе функции преобразования типов не используются, мы работаем только со строковыми значениями, даже если это число оно у нас используется только как символ, исключение только для цены)

    Методы, предназначенные для слияния и разбиения массивов.

(в нашей работе не используется)

    Сортировка данных. Функции для сортировки позволяют выполнять манипулирование массивами, как ассоциативного типа, так и с обычным, последовательным, ключом. Обработка (групповая) данных.

(в нашей работе используется функция sort, max, min, between, isset)

    Заполнение данными — инициализация массивов.

(в нашей работе используется только набор правил для подключения к БД, заполнение массивов не требуется)

    Функции для перемещения по (внутреннему) индексу массива.

(в нашей работе не используется не смысла перемещаться по найденным значениям)

НЕ нашли? Не то? Что вы ищете?

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

Более конкретно об этих методах описано в документации по языку PHP. Я лишь опишу ту часть из этих методов что используется в решении нашей задаче.

И так, для начала смысл в реализации поисковой системы состоит в следующем: При имеющейся заполненной Базе данных расположенной на общедоступном ресурсе в интернете, с помощью запросов созданных на языке PHP, осуществляется поиск по этой Базе Данных, и результат выводится на экран. Запрос осуществляется с помощью mysql_query (функция посылает запрос активной базе данных сервера) т. е. эта функция открывает доступ к удаленной БД, а mysql_fetch_array (функция возвращает массив с обработанным результатом запроса) этот запрос может быть представлен, как виде строки, так и виде отдельного символа. В обработке так же участвует функция mysql_error ( назначение этой функции получения сообщения об ошибке по результату обработки).

Более подробно это выглядит следующим образом: Я как пользователь захожу на адрес нашего интернет магазина. Хочу получить информацию о товаре или товарах размещенных к продаже в этом магазине. Для этого выбираю в меню сайта соответствующий пункт. Далее происходит подключение к БД (файл connect. php)с помощью процедуры подключения (это набор простых протоколов смысл, которых в следующем: сказать серверу что я хочу подключиться к БД, при этом имею пароль доступа и название БД, в случае если это не удалось соединение разорвать и вывести на экран сообщение об ошибке).

Далее если все прошло хорошо т. е. соединение установлено начитаю выполнять инструкции полученные от пользователя (Функция вывода товаров из БД по параметру - SQL-запросу). Пользователь попадая на страницу запросов (Функция анализа введенной строки поиска) к БД, должен выбрать или ввести набор характеристик это могут быть ключевые слова такие как «охранные системы определенной марки», это могут быть значения для сортировки в частности «по цене», которые потом будут преобразованы в запрос к БД (пример $arr = mysql_fetch_array($result)) или $words_string = "( `type_the_equipment` LIKE '%".$_GET['search_words']."%' OR `type_name` LIKE '%".$_GET['search_words']."%' OR `title` LIKE '%".$_GET['search_words']."%' OR `brand` LIKE '%".$_GET['search_words']."%' OR `description` LIKE '%".$_GET['search_words']."%' OR `price` LIKE '%".$_GET['search_words']."%')"). Запрос в итоге представляет собой строку символов (пример Охранная система мангуст), результат отправляется к обработчику запросов на удаленном сервере (пример mysql_num_rows($result)).

Результат обработчика запросов передается в программу виде строки с индексами с помощью которых и выводится информация о товаре или товарах на экран (пример div class='about_product', функция «Запрос на вывод в выпадающий список всех типов товара типа товара», и функция «Запрос на вывод в выпадающий список всех видов товара для марки товара») после этого осуществляется сортировка результата (функция «Проверка на отсутствие запроса и сортировка найденного товара»). В случае ошибок выводится информация об ошибке (пример echo out_error() на экране это выглядит «К сожалению, по вашему запросу ничего не найдено…», в программе это функция вывода сообщения об ошибке). Создание запросов из представленных пользователю характеристик может продолжаться бесконечно долго, выход из поисковой системы осуществляется переходом пользователя на другую страницу, при этом осуществляется закрытие доступа к БД теме же правилами что и открывали доступ. Результат поиска нигде не сохраняется и фиксируется только в истории самого браузера в виде хешиндексов результата поиска.

Вывод: Представленная методика отражает лишь способ и функции используемые при реализации задачи составления запроса к БД. Кратко запрос заключается в следующем: Подключились – создали строку поиска – отправили строку на сервер где хранится БД – получили ответ от обработчика (программа работающая с БД на сервере) – вывели на экран результат обратившись напрямую к БД без обработчика и красиво его представили – если не получилось увидели на экране текст ошибки – вышли – отключились