Автор работы: Пользователь скрыл имя, 03 Декабря 2014 в 21:31, лабораторная работа
Цель работы
Ознакомиться с базовыми конструкциями языка PHP с целью написания с их использованием простейших PHP-программ доступа к базам данных.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра программных систем и баз данных
Лабораторная работа № 10
по дисциплине Базы данных и СУБД
Факультет: ФПМИ
Группа: ПМИ-01
Бригада № 6
Студенты: Кузьменко А. А.
Преподаватель: Стасышина Т.Л.
Новосибирск 2014
Ознакомиться с базовыми конструкциями языка PHP с целью написания с их использованием простейших PHP-программ доступа к базам данных.
Страница html:
index.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title> Laba 10 </title>
</head>
<body>
<H1> Лабораторная №10 </H1>
<table>
<tr>
<td><H3 style="text-decoration: underline"> Задание 1 </H3></td>
</tr>
<tr>
<td style="font-size: 120%">
Получить информацию о деталях, поставки которых были осуществлены для указанного изделия всеми поставщиками.
</td>
</tr>
<tr>
<td style="padding-left: 20%; color: blue; font-weight: bold">
<form action="./1.php" method="POST">
Выберите изделие:
<select name="n_izd">
<OPTION value="J1">J1
<OPTION value="J2">J2
<OPTION value="J3">J3
<OPTION value="J4">J4
<OPTION value="J5">J5
<OPTION value="J6">J6
<OPTION value="J7">J7
</select>
<input type="submit" name="submit">
</form>
</td>
</tr>
</table>
<table>
<tr>
<td>
<H3 style="text-decoration: underline"> Задание 2 </H3>
</td>
</tr>
<tr>
<td style="font-size: 120%">
Увеличить рейтинг поставщика, выполнившего больший суммарный объем поставок, на указанную величину.
</td>
</tr>
<tr>
<td style="padding-left: 20%; color: blue; font-weight: bold">
<form action="./2.php" method="POST">
Увеличить рейтинг на:
<input type="text" name="reiting">
<input type="submit" name="submit">
</form>
</td>
</tr>
</table>
</body>
</html>
1.php
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title> Лабораторная №10 Задание 1</title>
</head>
<body>
<H1> Лабораторная №10 Задание 1 </H1>
<H3>Старт соединения</H3>
<?php
$user = 'pmi-b1104';
$password = 'dgjcrYM9';
$dbconn = pg_connect("host = students.ami.nstu.ru port = 5432 dbname = students user = $user password = $password")
or die("Ошибка соединения");
?>
<p>Соединение успешно!</p>
<H3>Выполнение запроса</H3>
<?php
$Query1 = "SET search_path TO pmi1104";
$QueryRes = Pg_query($dbconn,$Query1);
$n_izd=$_POST['n_izd'];
$query = pg_query($dbconn, "
select *
from p
where n_det in
(
select distinct p.n_det
from p
join spj on (p.n_det=spj.n_det)
where spj.n_izd='J4'
group by p.n_det
having count(p.n_det) >= ALL
(
select count(*) from p
)
)")
or die("Error happened".pg_result_error($
$row_count=pg_num_rows($query)
?>
<table cellpadding="10px" border="1" style="text-align:center; margin-bottom:10px">
<tr>
<th>Номер</th>
<th>Название</th>
<th>Цвет</th>
<th>Вес</th>
<th>Город</th>
</tr>
<?php
for($i=0;$i<$row_count;$i++)
{
$cursor=pg_fetch_assoc($query,
echo "<tr>";
echo "<td>".$cursor['n_det']."</td>
echo "<td>".$cursor['name']."</td>"
echo "<td>".$cursor['cvet']."</td>"
echo "<td>".$cursor['ves']."</td>";
echo "<td>".$cursor['town']."</td>"
echo "</tr>";
}
?>
</table>
<?php
echo "Запрос упешно выполнен.";
pg_close($dbconn);
?>
</body>
</html>
2.php
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title> Лабораторная №10 Задание 2 </title>
</head>
<body style="background: 100 100 100 no-repeat">
<H1 style="font-family: Monotype Corsiva"> Лабораторная №10 Задание 2 </H1>
<H3>Старт соединения</H3>
<?php
$user = 'pmi-b1104';
$password = 'dgjcrYM9';
$dbconn = pg_connect("host = students.ami.nstu.ru port = 5432 dbname = students user = $user password = $password")
or die("Ошибка соединения");
?>
<p style="font-style: italic">Соединение успешно!</p>
<H3>Выполнение запроса</H3>
<?php
$Query1 = "SET search_path TO pmi1104";
$QueryRes = Pg_query($dbconn,$Query1);
$reiting = $_POST['reiting'];
$query = pg_query($dbconn, "UPDATE s
SET reiting=reiting+'$reiting'
where n_post in(
select n_post
from spj
group by n_post
having sum(kol) >= ALL(
select sum(kol) from spj group by n_post
)
)"
)
or die("Ошибка".pg_result_error($
$count=pg_affected_rows($
echo $count." изменено";
echo "<p>Запрос упешно выполнен.</p>";
pg_close($dbconn);
?>
</body>
</html>
Информация о работе Использование PHP для доступа к PostgreSQL