Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сетевые технологии. Обработка форм в рамках динамических Интернет-сайтов. Учебное пособие
.pdf
131
$zaptbmnodvrd = "SELECT tb_odv.tbodvzn FROM tb_odv, tb_main_odv
WHERE tb_odv.tbodvkod=tb_main_odv.tbodvkod and
tb_main_odv.tbmnkod=".$rowtbmnrd['tbmnkod'].";";
$restbmnodvrd = mysql_query($zaptbmnodvrd);
$rowstbmnodvrd = mysql_num_rows($restbmnodvrd);
$colstbmnodvrd = mysql_num_fields($restbmnodvrd);
echo "\n<TD>";
if ($rowstbmnodvrd==0)
{
// echo "Отсутствуют записи в таблице tb_main_odv реляционной
базы данных ".$dbname."!";
echo "Не выделен элемент однозначного выбора";
}
else
{
//echo "Записи из таблицы tb_main_odv реляционной базы данных
".$dbname." успешно выбраны!";
while ($rowtbmnodvrd = @mysql_fetch_array ($restbmnodvrd))
{
settype($rowtbmnodvrd['tbodvzn'], string);
echo trim($rowtbmnodvrd['tbodvzn']);
}
}
echo "</TD>";
// Вывод записей из множественного выбора согласно таблицам
tb_mnv и tb_main_mnv реляционной базы данных db_02
$zaptbmnmnvrd = "SELECT tb_mnv.tbmnvzn FROM tb_mnv,
tb_main_mnv WHERE tb_mnv.tbmnvkod=tb_main_mnv.tbmnvkod and
tb_main_mnv.tbmnkod=".$rowtbmnrd['tbmnkod'].";";
$restbmnmnvrd = mysql_query($zaptbmnmnvrd);
$rowstbmnmnvrd = mysql_num_rows($restbmnmnvrd);
$colstbmnmnvrd = mysql_num_fields($restbmnmnvrd);
echo "\n<TD>";
if ($rowstbmnmnvrd==0)
{
// echo "Отсутствуют записи в таблице tb_main_mnv реляционной
базы данных ".$dbname."!";
echo "Не выделены элементы множественного выбора";
}
else
{
//echo "Записи из таблицы tb_main_mnv реляционной базы данных
".$dbname." успешно выбраны!";

132
$j = 0;
while ($rowtbmnmnvrd = mysql_fetch_array ($restbmnmnvrd))
{
settype($rowtbmnmnvrd['tbmnvzn'], string);
echo trim($rowtbmnmnvrd['tbmnvzn']);
if ($j!=$rowstbmnmnvrd-1)
{
echo "<BR>";
}
$j++;
}
}
echo "</TD>";
echo "\n</TR>";
$n++;
}
echo "\n</TABLE>";
echo "\n</DIV>";
}
}
@mysql_close($MyLink);
?>
<HR color=green size=2>
</BODY>
</HTML>
4.2. Администрирование форм динамических Интернет-страниц с
сохранением информации во взаимосвязанных таблицах реляционной базы
данных
Представленная ниже программа предназначена для полноценного
управления администратором Интернет-сайта содержимым взаимосвязанных
таблиц в рамках рассматриваемой реляционной базы данных за исключением
таблиц-справочников с упором на взаимосвязанные через компоненты формы
таблицы. Управление записями данных в рамках данных таблиц включает
реализацию не только имеющихся в рамках пользовательской программы
возможностей по добавлению компонентов новой записи и выводу информации
с точки зрения главной таблицы, но и возможности по изменению и удалению
произвольным образом выбираемых администратором компонентов с помощью
необходимых элементов управления записями в рамках единой визуальной
формы (аналог рис. 7).
<HTML><HEAD>
<?PHP
// Подключение к реляционной базе данных

133
require("podkl_02.php");
// Формирование одномерных массивов для элементов формы
// Однозначный список
$mods = array();
$zaptbods = "SELECT * FROM tb_ods;";
$restbods = @mysql_query($zaptbods);
$rowstbods = @mysql_num_rows($restbods);
$colstbods = @mysql_num_fields($restbods);
if ($rowstbods==0)
{
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице tb_ods
реляционной базы данных ".$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Отсутствуют данные в таблицесправочнике элементов однозначного списка!</B> </FONT>";
// echo "\n</DIV>";
}
else
{
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике tb_ods реляционной базы данных ".
$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблицесправочнике элементов однозначного списка!</B></FONT>";
// echo "\n</DIV>";
while ($rowtbods = @mysql_fetch_array($restbods))
{
// Элементы однозначного списка
$mods[$rowtbods[0]-1] = $rowtbods[1];
}
}
// Множественный список
$mmns = array();
$zaptbmns = "SELECT * FROM tb_mns;";
$restbmns = @mysql_query($zaptbmns);
$rowstbmns = @mysql_num_rows($restbmns);
$colstbmns = @mysql_num_fields($restbmns);
if ($rowstbmns==0)
{

134
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице tb_mns
реляционной базы данных ".$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Отсутствуют данные в таблицесправочнике элементов множественного списка!</B> </FONT>";
// echo "\n</DIV>";
}
else
{
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике tb_mns реляционной базы данных ".
$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике элементов множественного списка!</B> </FONT>";
// echo "\n</DIV>";
while ($rowtbmns = @mysql_fetch_array($restbmns))
{
// Элементы однозначного списка
$mmns[$rowtbmns[0]-1] = $rowtbmns[1];
}
}
// Однозначный выбор
$modv = array();
$zaptbodv = "SELECT * FROM tb_odv;";
$restbodv = @mysql_query($zaptbodv);
$rowstbodv = @mysql_num_rows($restbodv);
$colstbodv = @mysql_num_fields($restbodv);
if ($rowstbodv==0)
{
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице tb_odv
реляционной базы данных ".$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Отсутствуют данные в таблицесправочнике элементов однозначного выбора!</B> </FONT>";
// echo "\n</DIV>";
}
else
{

135
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике tb_odv реляционной базы данных ".
$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблицесправочнике элементов однозначного выбора!</B> </FONT>";
// echo "\n</DIV>";
while ($rowtbodv = @mysql_fetch_array($restbodv))
{
// Элементы однозначного выбора
$modv[$rowtbodv[0]-1] = $rowtbodv[1];
}
}
// Множественный выбор
$mmnv = array();
$zaptbmnv = "SELECT * FROM tb_mnv;";
$restbmnv = @mysql_query($zaptbmnv);
$rowstbmnv = @mysql_num_rows($restbmnv);
$colstbmnv = @mysql_num_fields($restbmnv);
if ($rowstbmnv==0)
{
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице tb_mnv
реляционной базы данных ".$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Отсутствуют данные в таблицесправочнике элементов множественного выбора!</B> </FONT>";
// echo "\n</DIV>";
}
else
{
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике tb_mnv реляционной базы данных ".
$dbname."!</B></FONT>";
// echo "\n<HR color=green size=2>";
// echo "\n<DIV align=center>";
// echo "\n<FONT color=red><B>Успешно выбраны данные в таблице-
справочнике элементов множественного выбора!</B> </FONT>";
// echo "\n</DIV>";
while ($rowtbmnv = @mysql_fetch_array($restbmnv))
{
// Элементы однозначного выбора

136
$mmnv[$rowtbmnv[0]-1] = $rowtbmnv[1];
}
}
// Формирование директории для хранения загружаемых файлов
$dirs = "files_reltb";
if (@!opendir($dirs)) { mkdir($dirs, 0666); }
?>
<SCRIPT type="text/javascript" language=JavaScript>
function prfl(zagr)
{
max_size = "<? echo(ini_get('upload_max_filesize')); ?>";
max_size_mb = Math.round(max_size.substr(0,(max_size.length-1))
*100)/100;
zagr_size_mb = Math.round((zagr.files[0].size/(1024*1024))*100) /100;
if (zagr_size_mb>max_size_mb)
{
soob = "Ошибка загрузки файла!";
soob = soob+"\nРазмер загружаемого файла "+zagr_size_mb +"
Мбайт";
soob = soob+"\nМаксимальный размер файла "+max_size_mb +"
Мбайт";
soob = soob+"\nВыберите файл меньшего размера!";
alert(soob);
zagr.value = "";
zagr.focus();
}
}
</SCRIPT>
<TITLE>Обработка форм динамических Интернет-страниц с
сохранением записей данных во взаимосвязанных таблицах
реляционной базы данных</TITLE></HEAD>
<BODY>
<HR color=green size=2>
<DIV align=center>
<FONT color=blue><B>Вывод формы исходных данных для добавления
записи во взаимосвязанные таблицы реляционной базы
данных</B></FONT>
</DIV>
<HR color=green size=2>
<DIV align=justify>
<FORM name=fnam method=post enctype="multipart/form-data">
<TABLE border=1 bordercolor=green cellspacing=0>
<TR valign=top>

137
<TD>Скрытый элемент</TD>
<TD><INPUT type=hidden name=hdn value="<? echo
date("d").".".date("m").".".date(Y)." ".date("H:i:s") ?>"></INPUT> </TD>
</TR>
<TR valign=top>
<TD>Текстовое поле</TD>
<TD><INPUT type=text name=tp value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Текстовая область</TD>
<TD><TEXTAREA rows=6 cols=40 name=to></TEXTAREA> </TD>
</TR>
<TR valign=top>
<TD>Поле пароля</TD>
<TD><INPUT type=password name=ps value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Поле адреса Интернет-сайта (https://www.xxx.xxx)</TD>
<TD><INPUT type=url name=st value=""></INPUT></TD>
</TR>
<TD>Поле адреса электронной почты (xxx@xxx.xxx)</TD>
<TD><INPUT type=email name=et value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Поле номера телефона (8-999-999-9999)</TD>
<TD><INPUT type=tel name=tl pattern="8-[0-9]{3}-[0-9]{3}-[0-9]{4}"
value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Выбор даты</TD>
<TD><INPUT type=date name=dtv></INPUT></TD>
</TR>
<TD>Выбор времени</TD>
<TD><INPUT type=time name=ttv></INPUT></TD>
</TR>
<TR valign=top>
<TD>Выбор цвета</TD>
<TD><INPUT type=color name=clv></INPUT></TD>
</TR>
<TR valign=top>
<TD>Загрузка файла</TD>
<TD><INPUT type=file name=flv onchange="prfl(flv);"></INPUT> </TD>
</TR>

138
<TR valign=top>
<TD>Однозначный список</TD>
<TD><SELECT name=ods[]>
<OPTION value=-1>Выберите элемент однозначного списка </OPTION>
<?PHP
for ($i=0;$i<count($mods);$i++)
{
echo "<OPTION value=".$i.">".$mods[$i]."</OPTION>\n";
}
?>
</SELECT></TD></TR>
<TR valign=top>
<TD>Множественный список</TD>
<TD><SELECT name=mns[] multiple>
<?PHP
for ($i=0;$i<count($mmns);$i++)
{
echo "<OPTION value=".$i.">".$mmns[$i]."</OPTION>\n";
}
?>
</SELECT></TD></TR>
<TR valign=top><TD>Однозначный выбор</TD><TD>
<?PHP
for ($i=0;$i<count($modv);$i++)
{
echo "<INPUT type=radio name=odv[] value=".$i.">".$modv[$i].
"</INPUT><BR>\n";
}
?>
</TD></TR>
<TR valign=top>
<TD>Множественный выбор</TD><TD>
<?PHP
for ($i=0;$i<count($mmnv);$i++)
{
echo "<INPUT type=checkbox name=mnv[] value=".$i.">".
$mmnv[$i]."</INPUT><BR>\n";
}
?>
</TD></TR>
<TR align=center>
<TD><INPUT type=submit name=add value="Добавление
данных"></INPUT></TD>

139
<TD><INPUT type=reset value="Отмена"></INPUT></TD></TR>
</TABLE></FORM>
</DIV>
<?PHP
// Добавление новой записи во взаимосвязанные таблицы реляционной
базы данных db_02
if (isset($_POST['add']))
{
// Получение данных из скрытого элемента
settype($_POST['hdn'], string);
$addhdn = trim(strip_tags($_POST['hdn']));
// Получение данных из текстового поля
settype($_POST['tp'], string);
$addtp = trim(strip_tags($_POST['tp']));
// Получение данных из текстовой области
settype($_POST['to'], string);
$addto = trim(strip_tags($_POST['to']));
$addto = str_replace("\r\n","##",$addto);
// Получение данных из поля пароля
settype($_POST['ps'], string);
$addps = trim(strip_tags($_POST['ps']));
// Получение данных из поля адреса Интернет-сайта
settype($_POST['st'], string);
$addst = trim(strip_tags($_POST['st']));
// Получение данных из поля адреса электронной почты
settype($_POST['et'], string);
$addet = trim(strip_tags($_POST['et']));
// Получение данных из поля номера телефона
settype($_POST['tl'], string);
$addtl = trim(strip_tags($_POST['tl']));
// Получение данных о выборе даты
settype($_POST['dtv'], string);
$adddtv = trim(strip_tags($_POST['dtv']));
// Получение данных о выборе времени
settype($_POST['ttv'], string);
$addttv = trim(strip_tags($_POST['ttv']));
// Получение данных о выборе цвета
settype($_POST['clv'], string);
$addclv = trim(strip_tags($_POST['clv']));
// Получение данных о загружаемом файла
if ($_FILES['flv']['name']!="")
{
settype($_FILES['flv']['name'], string);

140
$addflv = $_FILES['flv']['name'];
if (@copy(iconv('utf-8','windows-1251',$_FILES['flv'] ['tmp_name']),
$dirs."/".iconv('utf-8','windows-1251',$addflv)))
{
// echo "\n<FONT color=blue><B>Файл ".$addflv." успешно
загружен!</B></FONT>";
}
else
{
// echo "\n<FONT color=red><B>Файл ".$addflv." невозможно
загрузить!</B></FONT>";
$addflv = "";
}
@unlink($_FILES['flv']['tmp_name']);
}
// Получение данных из однозначного списка
$vods = 0;
for ($i=0;$i<count($_POST['ods']);$i++)
{
$vods++;
settype($_POST['ods'][$i], integer);
$iods = $_POST['ods'][$i]+1;
}
// Получение данных из множественного списка
$vmns = 0;
$imns = array();
for ($i=0;$i<count($_POST['mns']);$i++)
{
$vmns++;
settype($_POST['mns'][$i], integer);
$imns[$i] = $_POST['mns'][$i]+1;
}
// Получение данных из однозначного выбора
$vodv = 0;
for ($i=0;$i<count($_POST['odv']);$i++)
{
$vodv++;
settype($_POST['odv'][$i], integer);
$iodv = $_POST['odv'][$i]+1;
}
// Получение данных из множественного выбора
$vmnv = 0;
$imnv = array();
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
