Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Поиск информации в базе данных




 

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

 

Ниже представлен пример поиска информации о туристах по дате отправки и вывод на экран результатов поиска.

 

HTML-код поиска информации в базе данных представлен ниже.

<HTML>

<HEAD>

<TITLE> Турагенство "Travel" - Поиск туриста</TITLE>

</HEAD>

<BODY>

<H1> Турагенство "Travel".</H1>

<H2> Поиск данных о туристе.</H2>

<FORM method="POST" action="example.php">

<<INPUT type="hidden" name="posted" value="true">

Выберите критерий поиска:<br>

<SELECT name="Otpravka">

<OPTION value="DateOtpravki">Дата отправки

<OPTION value="Number">Номер путевки

</SELECT><br>

Введите строку:<br>

<INPUT name="First" type=TEXT><br>

<INPUT type=submit value="Поиск"></form>

</BODY>

</HTML>

 

Реализация данного кода представлена на рисунке

 

 

в данном примере при загрузке Web-страницы на экране появляется форма, в которую пользователь должен ввести информацию для поиска. Критерий поиска необходимо выбрать из выпадающего списка. Значение критерия поиска требуется ввести в однострочное текстовое поле. Затем необходимо нажать кнопку “Поиск”. После этого подключится обработчик, указанный в атрибуте “action” тега “form”. В данном примере это файл example.php.

 

Код файла-обработчика представлен ниже.

<HTML>

<HEAD>

<STYLE type="text/css">

.center { text-align: center; }

</STYLE>

<TITLE> Турагенство "Travel" - Поиск туриста</title></head>

<BODY>

<H1> Турагенство "Travel".</H1>

<H2> Поиск данных о туристе.</H2>

<?php

if (isset($_POST['posted']))

{

$Otpravka = $_POST['Otpravka'];

$First = $_POST['First'];

trim($search_term); // удаление пробелов из начала и конца строки

if ($Otpravka == "" or $First == "")

{ echo "Вы не ввели параметры поиска. Пожалуйста, попробуйте снова."; exit; } // остановка выполнения сценария

$Otpravka =addslashes($Otpravka);

$First = addslashes($First);

$db = mysql_pconnect("localhost", "root", ""); //установка соединения

if (!$db)

{ echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже.";

exit; }

mysql_SELECT_db("Travel"); // выбор базы данных

$query = "SELECT Putevka.DateOtpravki, Putevka.Number, Putevka.DateVozvr, Turist.SecondName, Turist.FirstName, Turist.Patronym, Turist.SeriaPassport, Turist.NumberPassport, Turoperator.Name,

Hotel.Names, Hotel.Class

FROM Putevka, Turist, Turoperator, Hotel

WHERE Turist.Id = Putevka.Cod_Turist AND Turoperator.Id = Putevka.Cod_Operator AND Hotel.Id = Putevka.Cod_Hotel AND ".$Otpravka." LIKE '%".$First."%'";

$result = mysql_query($query); // выполнение запроса

$num_rows = mysql_num_rows($result);

// подсчет количества результатов

echo "<p> <h3>Туристов найдено: ".$num_rows.".</h3></p>";

echo "<table cellpadding=5 border=2>\n";

echo "<tr><th width=100>Номер путевки</th>

<TH width=100>Фамилия</TH><th width=100>Имя</th>

<TH width=100>Отчество</TH>

<TH width=100>Дата отправки </th><th width=100>Дата прибытия</TH>

<TH width=100>Название отеля</th>

<TH width=100>Туроператор</th></tr>\n";

for ($i=0; $i<$num_rows; $i++)

{ $row = mysql_fetch_array($result);

// обработка ряда результата запроса

echo "<TR><TD class \"center\">$row[Number]</TD>

<TD>$row[SecondName]</TD>

<TD>$row[FirstName]</TD>

<TD>$row[Patronym]</TD>

<TD>$row[DateOtpravki]</TD>

<td>$row[DateVozvr]</TD>

<TD class=\"center\">$row[Names]</TD>

<TD class=\"center\">$row[Name]</TD></TR>\n"; } }

?>

</BODY>

</HTML>

 

Реализация данного кода представлена на рисунке

 

 

Таким образом, в данном примере осуществлялся поиск информации в базе данных “Travel” по запросу пользователя. Перед выполнением запроса происходит проверка заполненности обязательных полей формы. Если заполнены не все поля, на экран выводится сообщение об ошибке, с просьбой заполнения полей. Затем происходит подключение к базе данных. Если все поля формы заполнены и подключение к базе данных прошло успешно, выполняется запрос на выборку данных из таблиц, после чего на экран выводится результат этого запроса.

 

В данном примере в качестве критерия поиска использовалась дата оптравки туриста. Из базы считывалась полная информация о туристах, которые купили путевки на заданную дату. При этом, использовались данные из таблиц “Putevka” (поля “Number”, “DateOtpravki”, ”DateVozvr”), “Turist” (поля “SecondName”, “FirstName”, “Patronym”), “Hotel” (поле “Name”) и Turoperator” (поле “Name”).

 

Затем считанная информация выводилась на экран. К такой информации относится номер путевки, дата отправки, дата прибытия, фамилия, имя, отчество туриста, название отеля, название туроператора.

 

Как видно на рисунке 8.37, в данном примере осуществлялся поиск информации о туристах, чья дата отправки “2010-05-18”. В базе данных “Travel” было найдено три записи, удовлетворяющие данному условию: “Семенов Николай Петрович”, “Иванов Иван Максимович” и “Петров Станислав Евгеньевич”.

 

Необходимо отметить, что помимо описанных выше функций, при работе с СУБД MySQL используется ряд других функций, которые описаны далее.

 





Поделиться с друзьями:


Дата добавления: 2017-01-28; Мы поможем в написании ваших работ!; просмотров: 257 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2405 - | 2135 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.