Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1410031_otchet_15.doc
Скачиваний:
1
Добавлен:
07.08.2019
Размер:
2.23 Mб
Скачать

Индивидуальное задание.

  1. Изучить основы использования РНР для доступа к БД.

  2. Создать одну таблицу с использованием оболочки phpMyAdmin и СУБД MySQL (желательно по теме курсовой работы).

  3. Разработать Web-приложение, включающее в себя следующие сценарии на языке РНР:

  • для занесения информации в таблицу БД, работающую под управлением СУБД MySQL;

  • для просмотра информации занесенной в таблицу БД;

  • для реализации различных SQL-запросов;

  • для удаления записей из таблицы БД.

  1. Выполнить разработанные сценарии.

Тема: «Общежитие»

Логическая модель базы данных.

Рисунок 1 Логическая модель БД

Рисунок 2 Физическая модель

Рисунок 3 Описание полей таблицы «Комнаты»

Рисунок 4 Описание таблицы «Жильцы»

Рисунок 5 Описание таблицы «Люди»

Копии экрана работы с разработанного web-приложения.

1. Создание таблиц при помощи оболочки phpMyAdmin.

Рисунок 6 Создание таблицыс помощью мастера

Рисунок 7 Создание полей таблицы

  1. Сриншоты интерфейса добавления записей.

Рисунок 8 Заполнение формы для добавления данных

Рисунок 9 Добавление прозведено успешно

Рисунок 10 Проверяем. Запись добавлена - id_person =18

  1. Скриншоты интерфейся изменения записей

Рисунок 11 Заполенение формы для изменения данных

Рисунок 12 Изменение прошло успешно

Рисунок 13 Удостоверимся, что данные были изменены

  1. Скриншоты интерфейся удаления записей

Рисунок 14 Заполнение формы удаления данных

Рисунок 15 Данные удалены успешно

  1. Скриншоты интерфейся просмотра записей

Рисунок 16 Просмотр всех записей

Рисунок 17 Просмотр 1 записи

Рисунок 18 Просмотр данных удовлетворяющих требованию (поиск)

Рисунок 19 Сортировка данных после поиска (на скриншоте сортировка по убыванию id)

Код приложения

index.php

<?php

require "titles.php";

require "config.php";

?>

<html>

<head>

<TITLE>Сайт общежития</TITLE>

</head>

<!--<body bgcolor="#777777" link="#564F9D" vlink="#444444" alink="red">-->

<body bgcolor="#777777" link="black" vlink="black" alink="black">

<center>

<table border=0 width="90%" cellspacing="0" cellpadding="2"><tr><td bgcolor="#910B0B">

<table border=0 width=100% height=60 cellspacing="0" cellpadding="0">

<tr>

<td width="100%" align=right><font face="Arial" color="white" size=+2><a href="index.php" style="color: white"><b>Общежитие</b></a></td>

<td width=10></td>

</tr>

</table>

</center>

<div align="center"><center>

<table border=0 width="97%" cellspacing="0" cellpadding="0" bgcolor=white>

<tr>

<td width=434 bgcolor="#910B0B" valign=middle><font color="#eeeeee" face="Arial" size="2"><b><i>Сайт создан при поддержке Администрации Общежития.</i></b></font></td>

<td width=2 bgcolor="#910B0B"></td>

<td width=180 bgcolor="#910B0B">

<p align="center"><font face="Arial" color="#ffffff" size=+1><b>Главное меню</b></font></p></td>

</tr>

<tr>

<td width=75% valign=top>

<table border=0 width=100% cellspacing=0 cellpadding=0>

<tr>

<td width="100%" bgcolor="#ffffff" valign=top>

<table border=0 width=100% cellspacing=0 cellpadding=20><tr><td valign=top>

<!----------------- Main Left Column Content Starts Here -------------->

<?php

if ($_GET['table']==$table_name[0]) {

// table 0 - personal_computer

$T=0;

require "universal_module.php";

} else if ($_GET['table']==$table_name[1]) {

// table 1 - processor

$T=1;

require "universal_module.php";

} else if ($_GET['table']==$table_name[2]) {

// table 2 - motheboard

$T=2;

require "universal_module.php";

} else if ($_GET['table']==$table_name[3]) {

// table 3 - grafic_card

$T=3;

require "universal_module.php";

} else if ($_GET['table']==$table_name[4]) {

// table 4 - memory

$T=4;

require "universal_module.php";

} else {

echo '<div align="center" valign="center" width="300"><FONT SIZE="6">Приветствуем вас</FONT></div>';

}

?>

<!----------------------Main Left Column Ends Here -------------------->

</td></tr></table>

</td>

</tr>

</table>

</td>

<td width=2 height=100% bgcolor="#910B0B"></td>

<td width=180 valign="top" align="left">

<table border=0 width=100% cellspacing=0 cellpadding=0>

<tr>

<td width="100%" height="2" bgcolor="#ffffff" align=center>

<script language="JavaScript1.2">

var mydate=new Date()

var year=mydate.getYear()

year=1900+year

var day=mydate.getDay()

var month=mydate.getMonth()

var daym=mydate.getDate()

if (daym<10)

daym="0"+daym

var dayarray=new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб")

var montharray=new Array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря")

document.write("<font color='000000' face='Arial' size=2>"+dayarray[day]+", "+daym+" "+montharray[month]+" "+", "+year+"</font>")

</script>

</td>

</tr>

</table>

<!-------------- Start Right Column Navigation -------------->

<!-------------- Sections Starts -------------->

<?php

for ($i=0;$i<5;$i++) {

echo '

<table border=0 cellpadding=0 cellspacing=0 width=100%>

<tr>

<td width="100%" bgcolor="#910B0B" height="2"></td>

</tr>

<tr>

<td width="100%" valign=top>

<div align="left">

<table border="0" bgcolor="#910B0B" cellspacing="0" cellpadding="2">

<tr>

<td width="100%" bgcolor="#910B0B"><font face="Arial" color="white" size=2><a href="index.php?table='.$table_name[$i].'&action=showall" style="color: white"><b>'; echo $table_title[$i]; echo'</b></a></font></td>

</tr>

</table>

</td>

</tr>

</table>

<table border=0 cellpadding=0 cellspacing=0 width=100%>

<tr>

<td width="100%" valign=top>

<div align="left">

<table border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="6">

<tr>

<td width="100%" bgcolor="#ffffff" valign=top><font face="Arial" color="black" size=2>'; echo $table_comment[$i]; echo '<br>

<li><a href="'; echo $_SERVER['PHP_SELF']."?table=".$table_name[$i]."&action=addform"; echo '">Добавление</a><br>

<li><a href="'; echo $_SERVER['PHP_SELF']."?table=".$table_name[$i]."&action=deleteform"; echo '">Удаление</a><br>

</td>

</tr>

</table>

</div>

</td></tr></table>';

}

?>

<!-------------- Sections Ends -------------->

</td>

</tr>

</table>

<CENTER>

<table border=0 width=100% cellspacing="0" cellpadding="0">

<tr>

<td width=100% bgcolor="#910B0B"><center><font size=2 color=white>Данный сайт создан Агафоновой Лидией в рамках курсового проекта на тему "Общежитие"</font></center></td>

</tr>

</table>

</CENTER>

</td></tr></table><br>

<center><font size=2 color=white>Данный сайт создан Агафоновой Лидией </font></center>

<br><br><br>

</body>

</html>

config.php

<?php

$dbhost = "localhost";

$dbuser = "1410031";

$dbpass = "lida2011";

$dbname = "db_1410031";

function dbconnect($dbhost,$dbuser,$dbpass,$dbname) {

$db=mysql_pconnect("$dbhost","$dbuser","$dbpass");

if (! $db) {

echo "Не возможно соедениться с БД";

exit;

};

if (! (mysql_select_db("$dbname"))) {

echo "Не возможно найти нужную БД ($dbname)";

exit;

}

mysql_query("SET NAMES 'utf8'");

return $db;

};

?>

titles.php

<?php

$table_name = array ("house","room","tenants","person","bill");

$table_title = array ("Корпусы","Комната","Проживающие","Список жильцов","Квитанции");

$table_comment = array ("Адреса построенных корпусов.","Список комнат.","","Список жильцов.","Регистрация квитанция об оплате.");

$table_cols_count = array (3,4,4,4,3);

$table0_columns = array ("id_house","street","house_number");

$table0_titles = array ("№ п.п.","улица","дом");

$table1_columns = array ("id_room","room_number","place_count","id_house");

$table1_titles = array ("№ п.п.","Номер комнаты","Количество мест","№ корпуса");

$table2_columns = array ("id_tenants","tanents_date","id_person","id_room");

$table2_titles = array ("Номер записи в журнале","Дата заселения","Рег.номер жильцы","№ п.п. комнаты");

$table3_columns = array ("id_person","surname","name","lastname");

$table3_titles = array ("Рег.номер жильцы","Фамилия","Имя","Отчество");

$table4_columns = array ("id_bill","check_date","id_person");

$table4_titles = array ("№ квитанции","Дата регистрации","Рег.номер жильцы");

$tables_columns = array ($table0_columns, $table1_columns, $table2_columns, $table3_columns, $table4_columns);

$tables_titles = array ($table0_titles, $table1_titles, $table2_titles, $table3_titles, $table4_titles);

?>

universal_module.php

<?php

if ($_GET['action']=='showall') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

echo '<table width="100%" border="2">

<tr height="32"><td colspan="'.($table_cols_count[$T]+3).'" align="center"><b>'.$table_title[$T].'</b></td></tr>

<tr height="32"><td colspan="'.($table_cols_count[$T]+3).'" align="center">

<form action="index.php" method="GET">

Поиск по:

<select name="filter_column">

<option disabled>Выберите поле</option>

';

for($i=0;$i<$table_cols_count[$T];$i++) {

if ($_GET['filter_column']==$tables_columns[$T][$i]) {

$selected="selected ";

} else {

$selected="";

}

echo '<option '.$selected.'value="'.$tables_columns[$T][$i].'">'.$tables_titles[$T][$i].'</option>

';

}

echo '</select>

значение:<input width="10" name="filter_value" value="">

<input type="hidden" name="table" value="'.$table_name[$T].'">

<input type="hidden" name="action" value="showall">

<input type="hidden" name="orderby_column" value="'.($_GET['orderby_column']!=""?$_GET['orderby_column']:$tables_columns[$T][0]).'">

<input type="hidden" name="orderby_value" value="'.($_GET['orderby_value']!=""?$_GET['orderby_value']:"asc").'">

<input type="submit" value="Поиск">

<a href="index.php?table='.$table_name[$T].'&action=showall&orderby='.$tables_columns[$T][0].'"><input type="button" value="Сброс"></a>

</td></tr>

<tr height="32">';

if (($_GET['filter_column']!="") && ($_GET['filter_value']!="")) {

$filter="WHERE ".$_GET['filter_column']." LIKE '%".$_GET['filter_value']."%'";

} else {

$filter="";

}

if (($_GET['orderby_column']!="") && ($_GET['orderby_value']!="")) {

$orderby=$_GET['orderby_column']." ".$_GET['orderby_value'];

} else {

$orderby=$tables_columns[$T][0]." asc";

}

$query = 'SELECT * FROM '.$table_name[$T].' '.$filter.' ORDER BY '.$orderby.';';

$result = mysql_query($query);

for($i=0;$i<$table_cols_count[$T];$i++) {

if (($_GET['filter_column']!="") && ($_GET['filter_value']!="")) {

$f_state="&filter_column=".$_GET['filter_column']."&filter_value=".$_GET['filter_value']."";

} else {

$f_state="";

}

$img1='<a href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=asc'.$f_state.'"><img src="images/arrowup.gif" border="0"></img></a>';

$img2='<a href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=desc'.$f_state.'"><img src="images/arrowdown.gif" border="0"></img></a>';

if ($_GET['orderby_column']==$tables_titles[$T][$i]) {

if ($_GET['orderby_column']=="asc") {

$img1="";

} else {

$img2="";

}

}

echo '<td align="center">'; echo $tables_titles[$T][$i]; echo $img1.$img2.'</td>';

}

echo '

<td colspan=3> </td>

</tr>';

while ($row = mysql_fetch_row($result)) {

echo '<tr height="32">';

for ($i=0;$i<$table_cols_count[$T];$i++) {

echo '<td align="left">'; echo $row[$i]; echo'</td>

';

}

echo '<td><a href="index.php?table='.$table_name[$T].'&action=showone&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_browse.png" alt="Просмотр" border="0"></img></a></td>

<td><a href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_edit.png" alt="Изменить" border="0"></img></a></td>

<td><a href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_drop.png" alt="Удалить" border="0"></img></a></td>';

echo '</tr>';

}

echo '</table>';

mysql_free_result($result);

}

if ($_GET['action']=='showone') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

$internal_id = $_GET[$tables_columns[$T][0]];

$query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'="'.$internal_id.'";';

$result = mysql_query($query);

echo '<table width="70%" border="2" align="center">

';

while ($row = mysql_fetch_row($result)) {

for ($i=0;$i<$table_cols_count[$T];$i++) {

echo '<tr height="32">

<td align="left">'; echo $tables_titles[$T][$i]; echo'</td>

<td align="left">'; echo $row[$i]; echo'</td>

</tr>

';

}

}

echo '</table>

<p align="center"><a href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$internal_id.'"><img src="images/b_edit.png" border="0"></img>Изменить</a></p>

<p align="center"><a href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$internal_id.'"><img src="images/b_drop.png" border="0"></img>Удалить</a></p>';

mysql_free_result($result);

}

if ($_GET['action']=='addform') {

echo '<form action="index.php" method="GET">

<table width="70%" border="2" align="center">

';

echo '

<input type="hidden" name="table" value="'.$table_name[$T].'">

<input type="hidden" name="action" value="add">

';

for ($i=1;$i<$table_cols_count[$T];$i++) {

echo '<tr height="32">

<td align="left">'; echo $tables_titles[$T][$i]; echo'</td>

<td align="left"><input type="text" name="'.$tables_columns[$T][$i].'" value=""</td>

</tr>

';

}

echo '<tr height="32">

<td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td>

<td align="center"><input type="submit" value="Сохранить"/></td>

</tr>

</table>';

mysql_free_result($result);

}

if ($_GET['action']=='add') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

$query_columns = $tables_columns[$T][1];

$query_values = '"'.$_GET[$tables_columns[$T][1]].'"';

for ($i=2;$i<$table_cols_count[$T];$i++) {

$query_columns .= ','.$tables_columns[$T][$i];

$query_values .= ',"'.$_GET[$tables_columns[$T][$i]].'"';

}

$query = 'INSERT INTO '.$table_name[$T].' ('.$query_columns.') VALUES ('.$query_values.');';

$result = mysql_query($query);

if ($result)

$result = "Запись успешно добавлена.";

else

$result = "Запись НЕ добавлена.";

echo '<table width="100%" border="2">

<tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr>

<tr height="32"><td align="center">'.$result.'</td></tr>

</table>';

mysql_free_result($result);

}

if ($_GET['action']=='editform') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

$internal_id = $_GET[$tables_columns[$T][0]];

$query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'="'.$internal_id.'";';

$result = mysql_query($query);

echo '<form action="index.php" method="GET">

<table width="70%" border="2" align="center">

';

$row = mysql_fetch_row($result);

echo '<tr height="32">

<td align="left">'; echo $tables_titles[$T][0]; echo'</td>

<td align="left">'.$row[0].'<input type="hidden" name="'.$tables_columns[$T][0].'" value="'.$row[0].'"></td>

<input type="hidden" name="table" value="'.$table_name[$T].'">

<input type="hidden" name="action" value="edit">

</tr>

';

for ($i=1;$i<$table_cols_count[$T];$i++) {

echo '<tr height="32">

<td align="left">'; echo $tables_titles[$T][$i]; echo'</td>

<td align="left"><input type="text" name="'.$tables_columns[$T][$i].'" value="'.$row[$i].'"</td>

</tr>

';

}

echo '<tr height="32">

<td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td>

<td align="center"><input type="submit" value="Сохранить"/></td>

</tr>

</table>';

mysql_free_result($result);

}

if ($_GET['action']=='edit') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

$query = 'UPDATE '.$table_name[$T].' SET ';

$query.= ' '.$tables_columns[$T][1].'="'.$_GET[$tables_columns[$T][1]].'" ';

for ($i=2;$i<$table_cols_count[$T];$i++) {

$query.=', '.$tables_columns[$T][$i].'="'.$_GET[$tables_columns[$T][$i]].'" ';

}

$query.='WHERE '.$tables_columns[$T][0].'='.$_GET[$tables_columns[$T][0]].';';

$result = mysql_query($query);

if ($result)

$result = "Запись успешно изменена.";

else

$result = "Запись НЕ изменена.";

echo '<table width="100%" border="2">

<tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr>

<tr height="32"><td align="center">'.$result.'</td></tr>

</table>';

mysql_free_result($result);

}

if ($_GET['action']=='deleteform') {

echo '<form action="index.php" method="GET">

<table width="70%" border="2" align="center">

<tr height="32">

<td align="left">'; echo $tables_titles[$T][0]; echo'</td>

<td align="left"><input type="input" name="'.$tables_columns[$T][0].'" value=""></td>

<input type="hidden" name="table" value="'.$table_name[$T].'">

<input type="hidden" name="action" value="delete">

</tr>

<tr height="32">

<td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td>

<td align="center"><input type="submit" value="Удалить"/></td>

</tr>

</table>';

mysql_free_result($result);

}

if ($_GET['action']=='delete') {

$connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname);

$query = 'DELETE FROM '.$table_name[$T].'

WHERE '.$tables_columns[$T][0].'='.$_GET[$tables_columns[$T][0]].';';

$result = mysql_query($query);

if ($result)

$result = "Запись успешно удалена.";

else

$result = "Запись НЕ удалена.";

echo '<table width="100%" border="2">

<tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr>

<tr height="32"><td align="center">'.$result.'</td></tr>

</table>';

mysql_free_result($result);

}

?>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]