- •Задание на курсовую работу
- •Введение
- •1 Теоретический обзор программного продукта
- •1.1 Общая информация
- •1.2 Средства разработки
- •1.3 Краткая характеристика объекта проектирования
- •2 Разработка программного продукта
- •2.1 Схема работы сайта
- •2.2 Разработка базы данных
- •2.3 Разработка запросов к базе данных
- •2.4 Разработка удаленного доступа к базе данных с использованием php
- •2.5 Программная реализация
- •3 Пример работы программного продукта
- •3.1 Основные возможности
- •Заключение
- •4 Список литературы
2.4 Разработка удаленного доступа к базе данных с использованием php
Чтобы PHP страница имела доступ к содержимому базы данных, необходимо установить соединение с данной базой. Взаимодействие MySQL и PHP осуществляется с помощью содержимого файла db.php. В данном файле применяется скрипт:
$db = @mysql_connect ("localhost","Имя пользователя","Пароль");
@mysql_connect – метод соединения к базе данных;
Localhost – адрес сервера MySQL;
Подключение определенной базы данных происходит следующим образом:
mysql_select_db("имя базы данных",$db);
Для того чтобы соединить данный файл с PHP страницей, необходимо в начале скрипта самой страницы прописать следующий код:
include ("db.php");
Таким образом, осуществляется связь PHP страницы с базой данных MySQL.
Для добавления информации с PHP страницы в базу данных MySQL применяется INSERT INTO. Общий вид данного скрипта будет следующим:
NSERT INTO название_таблицы (поля) VALUES (значения).
В значение необходимо записать переменные, к которым методом POST будет присвоено значение форм, которые пользователь заполняет.
Время от времени возникает задача удаления записей из базы данных, для которой предназначен оператор DELETE. Данный оператор имеет следующий вид:
DELETE FROM tbl WHERE where_definition
Оператор удаляет из таблицы tbl записи, удовлетворяющие условию where_definition.
2.5 Программная реализация
Для того, чтобы просматривать содержимое сайта, необходимо зарегистрироваться либо авторизоваться.
Процедура регистрации реализована следующим образом:
<form>
<p> Введите ФИО сотрудника
<form action = "handler.php" method="post">
<input type = "text" name="name"/>
<p>
<input type="submit" value="Просмотреть" >
</form>
//проверка на заполнение формы
If (empty($_POST['usname'])) { include ("ssylka1.inc"); exit ('Поле Имя не заполнено'); }
If (empty($_POST['pass'])) { include ("ssylka1.inc"); exit ('Одно из полей Пароль не заполнено'); }
If (empty($_POST['pass1'])) { include ("ssylka1.inc"); exit ('Одно из полей Пароль не заполнено'); }
If (empty($_POST['maila'])) { include ("ssylka1.inc"); exit ('E-mail не введен'); }
If (empty($_POST['home'])) { include ("ssylka1.inc"); exit ('Вы не ввели домашний адрес'); }
If (empty($_POST['tel'])) { include ("ssylka1.inc"); exit('Вы не ввели телефон'); }
$usname=$_POST['usname'];
$dom=$_POST['home'];
$tel=$_POST['tel'];
$mail=$_POST['maila'];
//проверка правильности введенного пароля
If ($_POST['pass'] !='' AND $_POST['pass1'] !='' AND $_POST['pass'] === $_POST['pass1']){ $password=$_POST['pass'];
//проверка правильности введения E-mail
If (!empty($_POST['maila']))
{ if (!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['maila'])) { include ("ssylka1.inc");
exit ('Поле E-mail должно соответствовать формату somebody@somewhere.ru'); } else { $result = mysql_query ("INSERT INTO user (username,password,dom_adress,telefon,pochta) VALUES
('$usname','$password','$dom','$tel','$mail')"); } } } else {
include ("ssylka1.inc");
exit('Пароль введен не верно!!повторите запрос');
} ?>
<?php include("panels/shapka.php");?>
</tr> <tr> <td > <?php
if(!$result){ echo "Вы не зарегестрировались! Попробуйте еще раз<br>";include ("ssylka1.inc"); } else {echo "Вы зарегестрировались успешно! Зайдите на сайт под своим логином<br>";include ("ssylka.inc");
Для регистрации должны быть заполнены все поля, поле E-mail должно соответствовать формату somebody@somewhere.ru.
Возможен поиск по сотрудникам больницы:
<?php $name=$_POST['name']; $query="SELECT * FROM sotrudniki where fio LIKE '{$name}%'";$cat=mysql_query($query); $kk=mysql_num_rows($cat); for ($i=0;$i<$kk;$i++){
$result=mysql_fetch_array($cat); echo "<br>Сотрудник - <b>" . $result['fio'];?></b><br><? echo "<br> Должность: " .$result['dolzhnost']; echo "<br> Домашний адрес: " .$result['dom_adress']; echo "<br> Телефон: ".$result['telefon'];
echo "<br>";} ?>
Поиск по пациентам:
<p>Введите ФИО пациента <form action="handler1.php" method="post"><input type="text" name="name" /> <p><input type="submit" value="Просмотреть" ></form>
<?php include ("panels/db.php"); $res = mysql_query("SELECT * FROM bolnye, sotrudniki Where bolnye.sotrud_id=sotrudniki.sotrud_id"); $sms = mysql_fetch_array($res); ?>
><?php
$name=$_POST['name']; $query="SELECT * FROM bolnye where fio LIKE '{$name}%'"; $cat=mysql_query($query);
$kk=mysql_num_rows($cat);for ($i=0;$i<$kk;$i++){$result=mysql_fetch_array($cat);
echo "Пациент - <b>".$result['fio'];?></b><br><? $ip=$result['sotrud_id'];
//создаем перекрестный запрос для инфо сотрудника//
//AND ychast_terapev.sotrud_id=$result['sotrud_id']//
$med="SELECT * FROM sotrudniki Where sotrudniki.sotrud_id=$ip"; $de=mysql_query($med); $rez=mysql_fetch_array($de);echo "Лечащий врач: ".$rez['fio'];
if(!$rez){ $med="SELECT * FROM ychast_terapev Where ychast_terapev.sotrud_id=$ip"; $de=mysql_query($med);$rez=mysql_fetch_array($de);echo $rez['fio'];}else{echo "Врача нет";}
echo "<br> Диагноз : " .$result['doignos'];
echo "<br> Домашний адрес: " .$result['adres'];
echo "<br> Участок: ".$result['ychastok'];
echo "<br> Дата поступления: " .$result['data_postuplen'];echo "<br> Дата выписки: " .$result['data_vypiski'];?><br><?}?>
Удаление сотрудника:
<?php $result = mysql_query ("DELETE FROM sotrudniki WHERE sotrud_id='$id' LIMIT 1");echo $result['fio']; if (isset($id)) {$result = mysql_query ("DELETE FROM sotrudniki WHERE fio='$id'");if ($result == 'true') {echo "<p>Сотрудник успешно удален!</p>
Добавление сотрудника:
<?php $result = mysql_query ("INSERT INTO sotrudniki (sotrud_id,fio,dolzhnost,dom_adress,telefon) VALUES ('$title1','$title2','$title3','$title4','$title5')"); if ($result == 'true') {echo "<p>Сотрудник успешно добавлен!</p>";}else {echo "<p>Сотрудника не удалось добавить!Попробуйте еще раз</p>";include ("ssylka2.inc");}?>