Главная Подключить склад Ещё |
✖
Вход на сайт
|
Участие в поиске |
Клиентские ресурсы
|
Пример поискового скрипта на языке PHP
Скрипт выводит состояние склада по запрашиваемым позициям <?php /* ### Скрипт выводит состояние склада по запрашиваемым позициям ### для поисковой системы eFind.ru согласно спецификации. ### ### Версия: 2.0 (29.08.2018) ### ### ### Параметра вызова: ### Поисковый запрос передается в параметре search ### Метод: GET ### Кодировка запроса: Windows-1251 ### Кодировка ответа: Windows-1251 ### ### ### Формат базы данных: ### partname - название позиции (обязательное поле) ### mfg - производитель ### note - описание ### pdf - ссылка на PDF ### img - ссылка на изображение ### stock - состояние склада (количество позиций на складе или срок поставки) ### */ $host = ''; # Адрес MySQL сервера, например: mysql.mysite.com $user = ''; # Имя пользователя базы данных, например: user_stock $pass = ''; # Пароль пользователя, например: MswZ2Qs $base = ''; # Название базы данных, например: store $table = ''; # Название таблицы с данными, например: stock $search = ''; # Проверка наличия параметра search if(isset($_REQUEST['search']) && $_REQUEST['search'] != '') { $search = $_REQUEST['search']; } # Соединение с базой данных if($dbh = mysqli_connect($host, $user, $pass)) { # Установка текущей базы данных mysqli_select_db($dbh, $base); # Запрашиваем в таблице все позиции, названия которых содержат запрос $sth = mysqli_query($dbh, "SELECT * FROM `".$table."` ". "WHERE `partname` LIKE '%".addslashes($_REQUEST['search'])."%' ". "LIMIT 0,5"); # Если при запросе возникла ошибка, выводим соответствующее сообщение и выходим if(mysqli_errno($dbh) > 0) { header("HTTP/1.1 500 Internal Server Error"); print "<h1>500 Internal Server Error</h1>\nQuery Error"; exit; } ob_start(); print "<data version='2.0'>\n"; if(mysqli_num_rows($sth) > 0) { # Идем по каждой найденной записи while($row = mysqli_fetch_array($sth, MYSQL_ASSOC)) { print "<item>\n"; # Название позиции print " <part>".$row['partname']."</part>\n"; # Производитель if($row['mfg'] != '') print " <mfg>".$row['mfg']."</mfg>\n"; # Описание if($row['note'] != '') print " <note>".$row['note']."</note>\n"; # Ссылка на PDF if($row['pdf'] != '') print " <pdf>".$row['pdf']."</pdf>\n"; # Ссылка на изображение if($row['img'] != '') print " <img>".$row['img']."</img>\n"; # Состояние склада print " <stock>".$row['stock']."</stock>\n"; print "</item>\n"; } mysqli_free_result($sth); } print "</data>\n"; $content = ob_get_contents(); ob_clean(); header("Content-type: application/xml"); print '<?xml version="1.0" encoding="windows-1251" ?>'."\n".$content; mysqli_close($dbh); } else # Если не удалось соединиться с базой данных, выводим ошибку и выходим { header("HTTP/1.1 500 Internal Server Error"); print "<h1>500 Internal Server Error</h1>\nCould not connecto to database"; exit; } ?> |
2002— «ЭтЛайт» Наши контакты: +7 (812) 309-50-30, client@efind.ru Расширение для браузера · Телеграм-бот · Аналитика · English version |
|