Использование PHP для доступа к PostgreSQL

Автор работы: Пользователь скрыл имя, 03 Декабря 2014 в 21:31, лабораторная работа

Краткое описание

Цель работы
Ознакомиться с базовыми конструкциями языка PHP с целью написания с их использованием простейших PHP-программ доступа к базам данных.

Вложенные файлы: 1 файл

бд.doc

— 72.00 Кб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

НОВОСИБИРСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ  УНИВЕРСИТЕТ

Кафедра программных систем и баз данных

 

 

 

 

Лабораторная работа № 10

по дисциплине Базы данных и СУБД

 

 

 

 

 

Факультет: ФПМИ

Группа: ПМИ-01

Бригада № 6

Студенты: Кузьменко А. А.

Преподаватель: Стасышина Т.Л.

 

 

 

 

 

 

 

Новосибирск 2014

 

  1. Цель работы

Ознакомиться с базовыми конструкциями языка PHP с целью написания с их использованием простейших PHP-программ доступа к базам данных.

 

 

 

  1. Варианты заданий
  2. Получить информацию о деталях, поставки которых были осуществлены для указанного изделия всеми поставщиками.
  3. Увеличить рейтинг поставщика, выполнившего больший суммарный объем поставок, на указанную величину.

 

  1. Результаты запросов:

 

Страница html:

 

  1. Изделие: J7

 

  1. Увеличить рейтинг на: 20

 

  1. Текст программы

 

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($query));

 

$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,$i);

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($query));

 

$count=pg_affected_rows($query);

 

echo $count." изменено";

echo "<p>Запрос упешно выполнен.</p>";

 

pg_close($dbconn);

?>

</body>

</html>

 


Информация о работе Использование PHP для доступа к PostgreSQL