ControlKPP
.docxМинистерство образования и науки Украины
Харьковский национальный университет радиоэлектроники
Кафедра ИУС
Контрольная работа по дисциплине
,, Кроссплатформенное программирование ”
Вариант № 2
Выполнил: студент Проверил: доц.
группы КНз-13-1 Е. П. Павленко
В. В. Гвоздецкий
20.08.2015
Харьков 2015
Задание
Разработать программу на языке РНР.
-
Создать таблицу (3-4 поля) согласно своей предметной области. Добавить записи.
-
Открыть файл, прочитать числовые данные. Определить сумму чисел, находящихся в файле.
-
Выполнить запрос к таблице и проанализировать результаты.
-
Изменить данные в таблице.
Код программы:
Файл app.php:
<?php
include 'functions.php';
echo '<html>
<head>
<meta charset="utf-8">
<title>Оценка качества обслуживания клиентов ПриватБанка</title>
<style>
table{ width:700px; margin:auto;}
td , th{
text-align:center;
border: 1px solid #000000;
}
.sel:hover
{
background-color: #25ff00;
}
p{ color: #00ff00; text-align:center;}
a{text-decoration:none;}
</style>
</head>
<body>';
$connect=mysql_connect('localhost','root','280610');
if($connect)
{
if(!mysql_select_db('mysql',$connect))
exit("База не нейдена!");
if(isset($_GET['act']))
{
switch($_GET['act'])
{
case 'drop':
if(mysql_query("DROP TABLE `rating2`",$connect))
exit('Таблица удалена!<br/><a href="mysql.php">Создать</a>');
break;
case 'add':
$mark['part_bank']=(isset($_POST['part_bank']) and !empty($_POST['part_bank']))?intval($_POST['part_bank']):0;
$mark['atm']=(isset($_POST['atm']) and !empty($_POST['atm']))?intval($_POST['atm']):0;
$mark['pb24']=(isset($_POST['pb24']) and !empty($_POST['pb24']))?intval($_POST['pb24']):0;
if($mark['part_bank']!=0)
{
if(mysql_query("INSERT INTO `rating2`(`part`, `atm`, `pb24`) VALUES(".$mark['part_bank'].", ".$mark['atm'].",
".$mark['pb24'].")",$connect))
header("Location: mysql.php");
else
echo 'Не получилось записать в таблицу!<br/>';
}else
{
echo '<p>Поставьте оценку качества обслуживания банка</p>
<form method="POST" action="mysql.php?act=add">
Обслуживание в банке<br/>'.viewForm('part_bank').'<br/> Работа банкоматов<br/>'.viewForm('atm').'<br/>
Работа системы Приват24<br/>'.viewForm('pb24').'<br/>
<input type="submit" value="Отправить">
</form>';
}
break;
case 'edit':
$id=intval($_GET['id']);
$result =mysql_query("SELECT `part`, `atm`, `pb24` FROM `rating2` WHERE `id`= ".$id,$connect);
if (!$result)
echo 'Ошибка выполнения запроса<br/>';
$row=mysql_fetch_row($result);
if(count($row)>1)
{
$mark['part_bank']=(isset($_POST['part_bank']) and !empty($_POST['part_bank']))?intval($_POST['part_bank']):0;
$mark['atm']=(isset($_POST['atm']) and !empty($_POST['atm']))?intval($_POST['atm']):0;
$mark['pb24']=(isset($_POST['pb24']) and !empty($_POST['pb24']))?intval($_POST['pb24']):0;
if($mark['part_bank']!=0)
{
if(mysql_query("UPDATE `rating2` SET `part` = ".$mark['part_bank'].", `atm` = ".$mark['atm'].", `pb24` = ".$mark['pb24']." WHERE `id` = ".$id,$connect))
header("Location: mysql.php");
else
echo 'Не получилось обновить данные!<br/>';
}else
{
echo '<p>Редактирование оценки качества обслуживания банка</p>
<form method="POST"
action="mysql.php?act=edit&&id='.$id.'">
Обслуживание в банке<br/>
'.viewForm('part_bank',$row[0]).'<br/>
Работа банкоматов<br/>
'.viewForm('atm',$row[1]).'<br/>
Работа системы Приват24<br/>
'.viewForm('pb24',$row[2]).'<br/>
<input type="submit" value="Сохранить">
</form>';
}
}else
echo 'Запись не найдена!<br/>';
break;
case 'file':
echo 'Сумма числовых данных, прочитанных из файла = '.sum_numbers().'<br/>';
break;
}
echo '<a href="mysql.php">Назад к таблице</a>';
}
else
{
if(!mysql_query("CREATE TABLE IF NOT EXISTS `rating2` (`id` INT(9) NOT NULL AUTO_INCREMENT,
`part` INT(2) NOT NULL,
`atm` INT(2) NOT NULL,
`pb24` INT(2) NOT NULL,
PRIMARY KEY (`id`))",$connect))
exit("Таблица не создана!<br/>");
$content=mysql_query("SELECT `part`, `atm`, `pb24`, `id` FROM `rating2`",$connect);
if(mysql_num_rows($content)>0)
{
echo '<a href="?act=file">Открыть файл</a><br/>
<table>
<tr><th colspan="5"><a href="?act=drop">x</a> Оценка качества обслуживания <a href="?act=add">+</a></th></tr>
<tr>
<td>ID</td>
<td>Обслуживание в банке</td>
<td>Работа банкоматов</td>
<td>Работа системы Приват24</td>
<td>Операции</td>
</tr>';
while($cell=mysql_fetch_array($content))
{
echo '<tr class="sel">
<td>'.$cell['id'].'</td>
<td>'.$cell['part'].'</td>
<td>'.$cell['atm'].'</td>
<td>'.$cell['pb24'].'</td>
<td><a href="?act=edit&&id='.$cell['id'].'">Ред.</a></td>
</tr>';
}
echo '</table>';
}else
echo 'Таблица пуста!<br/>
<a href="?act=add">Добавить запись!</a>';
}
}else
echo 'Не удалось соединиться с БД!';
echo '</body></html>';
mysql_close($connect);
?>
Файл functions.php:
<?php
function viewForm($name,$value=false)
{
$res='<select name="'.$name.'">';
for($i=1;$i<=10;$i++)
if($value!=false and $value==$i)
$res.='<option value="'.$i.'" selected>'.$i.'</option>';
else
$res.='<option value="'.$i.'">'.$i.'</option>';
$res.='</select>';
return $res;
}
function sum_numbers()
{
$res=0;
$fp=fopen('file.txt','r');
$file=fread($fp,filesize('file.txt'));
$data=explode("#",trim($file));
for($i=0;$i<count($data);$i++)
{
if(is_numeric($data[$i]))
$res+=$data[$i];
}
fclose($fp);
return $res;
}
?>
Скриншоты выполнения