МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ
КАФЕДРА”ЗАХИСТ ІНФОРМАЦІЇ”
Звіт
до лабораторної роботи № 3
з курсу: "Бази даних та знань"
Завдання
Варіант №4. Оперний театр
1) Атрибути
1. Вистава
2. Дата проведення
3. id спектаклю
4. Жанр
5. id працівника
6. П.І.Б.
7. Посада
8.Зарплата
9. Номер телефону
10.Адреса працівника
11.Гонорар
12.Дата народженння
13. Назва майна
14.id майна
15.Тип майна
16.Місце
17.Ціна місця
18.Ряд
2) Визначення можливих ключів
7
8
Ключ 7
14
15
13
5
Ключ 14,5
3
4
1
2
Ключ 3
3
5
11
Ключ 5,3
3
18
16
17
Ключ 3,18,16
5
12
6
10
9
7
Ключ 5,7
3
5
18
16
Детермінанти: 7,14,3,5,18,16
ТЕКСТ ПРОГРАМИ НА PHP
Файл index.php
<pre>
<?php
include_once('functions.php');
include_once('config.php');
$sql = @mysql_connect($cfg['host'], $cfg['user'] ,$cfg['pass']);
if (!$sql) {
die( 'mysql_connect: '.mysql_error() );
}
if ( !@mysql_select_db($cfg['db'], $sql) ) {
die( 'mysql_select_db: '.mysql_error() );
}
?>
<a href="?act=vuvestu_vse">вивести всі записи</a>
<a href="?act=dobavutu_zapus">добавити запис</a>
<a href="?act=znajtu_zapus">знайти запис</a>
<a href="?act=vudalutu_zapus">видалити запис</a>
<a href="?act=vidredagyvatu_zapus">відредагувати запис</a>
<?php
switch (@$_GET['act'])
{
case 'dobavutu_zapus':
if ( isset($_POST['add']) )
{
$seans = mysql_escape_string($_POST['seans']);
$data = mysql_escape_string($_POST['data']);
$id_spect = mysql_escape_string($_POST['id_spect']);
$janr = mysql_escape_string($_POST['janr']);
q(
'INSERT INTO `spect` (`seans`, `data`, `id_spect`, `janr`) '.
'VALUES (\''.$seans.'\', \''.$data.'\', \''.$id_spect.'\', \''.$janr.'\');'
);
echo '<font color="green">Додано!</font><br/>';
}
?>
<form method='POST'>
seans:
<input type='text' name='seans' value='' />
data:
<input type='text' name='data' value='' />
id_spect:
<input type='text' name='id_spect' value='' />
janr:
<input type='text' name='janr' value='' />
<input type='submit' name='add' value='Добавити' />
</form>
<?php
break;
case 'znajtu_zapus';
if ( isset($_POST['search']) )
{
$seans = mysql_escape_string($_POST['seans']);
$m = q(
'SELECT * FROM `spect` WHERE '.
'`seans` LIKE \'%'.$seans.'%\';'
);
echo 'Знайдено: '.count( $m ).' записів.<br/>';
for ($i=0; $i<=count($m)-1; $i++) {
$m_seans = str_ireplace($seans, '<font color="red">'.$seans.'</font>', $m[$i]['seans']);
echo 'Сеанс: <b>'.$m_seans.'</b>, ';
echo 'Дата: <b>'.$m[$i]['data'].'</b>, ';
echo 'id_spect: <b>'.$m[$i]['id_spect'].'</b>, ';
echo 'janr: <b>'.$m[$i]['janr'].'</b><br/>';
}
}
?>
<form method='POST'>
seans:
<input type='text' name='seans' value='' />
<input type='submit' name='search' value='Знайти' />
</form>
<?php
break;
case 'vudalutu_zapus':
if ( isset($_POST['delete']) )
{
$seans = mysql_escape_string($_POST['seans']);
q(
'DELETE FROM `spect` WHERE `seans` = \''.$seans.'\' LIMIT 1;'
);
echo '<font color="green">Видалено!</font><br/>';
}
?>
<form method='POST'>
seans:
<input type='text' name='seans' value='' />
<input type='submit' name='delete' value='Видалити' />
</form>
<?php
break;
case 'vidredagyvatu_zapus':
if ( isset($_POST['edit_save']) ){
$id = mysql_escape_string($_POST['id']);
$data = mysql_escape_string($_POST['data']);
$seans = mysql_escape_string($_POST['seans']);
$janr = mysql_escape_string($_POST['janr']);
q(
'UPDATE `spect` SET '.
'`seans` = \''.$seans.'\', '.
'`janr` = \''.$janr.'\', '.
'`data` = \''.$data.'\' '.
' WHERE `id_spect` = \''.$id.'\' LIMIT 1; '
);
echo '<font color="green">Даны оновлено!</font></br>';
}
if ( isset($_POST['edit']) )
{
$seans = mysql_escape_string($_POST['seans']);
$m = q(
'SELECT * FROM `spect` WHERE `seans` = \''.$seans.'\' LIMIT 1;'
);
if ( !isset($m[0][0]) ) {
echo '<font color="red">record не знайдений!</font></br>';
}
else {
?>
<form method='POST'>
seans:
<input type='text' name='seans' value='<?php echo $m[0]['seans']; ?>' />
data:
<input type='text' name='data' value='<?php echo $m[0]['data']; ?>' />
janr:
<input type='text' name='janr' value='<?php echo $m[0]['janr']; ?>' />
<input type='hidden' name='id' value='<?php echo $m[0]['id_spect']; ?>' />
<input type='submit' name='edit_save' value='Зберегти' />
</form>
<?php
}
}
?>
<form method='POST'>
seans:
<input type='text' name='seans' value='' />
<input type='submit' name='edit' value='Відредагувати' />
</form>
<?php
break;
case 'vuvestu_vse':
$m = q('SELECT * FROM `spect`;');
echo 'В базі: '.count( $m ).' записів.<br/>';
for ($i=0; $i<=count($m)-1; $i++) {
echo 'Сеанс: <b>'.$m[$i]['seans'].'</b>, ';
echo 'Дата: <b>'.$m[$i]['data'].'</b>, ';
echo 'id_spect: <b>'.$m[$i]['id_spect'].'</b>, ';
echo 'janr: <b>'.$m[$i]['janr'].'</b><br/>';
}
break;
default:
break;
}
inc_counter();
$m = q('SELECT `count` FROM `counter`');
echo '<br/><br/>Counter: <b>'.$m[0]['count'].'</b>';
?>
Файл functions.php
<?php
function q($query)
{
$m = mysql_query($query);
if ( !is_resource($m) ) {
return False;
}
$result = array();
while ($row = mysql_fetch_array($m)) {
$result[] = $row;
}
return $result;
}
function inc_counter()
{
q('UPDATE `counter` SET `count` = `count` + 1 LIMIT 1;');
}
?>
Файл functions.php
<?php
$cfg['host'] = 'localhost';
$cfg['user'] = 'root';
$cfg['pass'] = '';
$cfg['db'] = 'teatr';
?>
Скріншоти програми
ВИСНОВОК: