русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Разработка Web-приложений на PHP для ведения таблиц в базе данных с СУБД MySQL


Дата добавления: 2015-06-12; просмотров: 2040; Нарушение авторских прав


Таблица единиц измерения

Для разработки данного и последующих Web-приложений использовался Denwer (п. 2.1.1).

Рассмотрим пример простой учебной программы на PHP, которая позволяет добавлять, находить и изменять записи таблиц единиц измерения в базе данных заказов товаров с СУБД MySQL. Форма ведения справочника представлена на рисунке 3.2.1.1.

Рисунок 3.2.1.1 – Окно браузера с формой ведения справочника

 

Для создания базы данных с СУБД MySQL использовался визуальный редактор phpMyAdmin (рисунок 3.2.1.2).

В пособии код программы включался из реальных программ путем копирования из буфера. Поэтому длинные строки могут занимать в пособии ни одну, а несколько строк, что необходимо учитывать при изучении кода программ.

 

Рисунок 3.2.1.2 – Окно просмотра phpMyAdmin таблицы единиц измерения

 

Код программы sql.php на языке PHP (автор В.В. Плещев).

<HTML> <head> <title> Единицы Измерения </title></head>

<body>

<form action="sql.php" method="post">

<input type=reset name="operation" value="Очистка"/>

<input type=submit name="operation" value="Добавить"/>

<input type=submit name="operation" value="Найти"/>

<input type=submit name="operation" value="Изменить"/>

<table>

<tr>

<td align="right">Код единицы измерения</td>

<td> <input name="kei" maxlength="10" size="10"/></td>

</tr>

<tr>

<td align="right">Наименование</td>

<td><input name="nei" maxlength="10" size="10"/></td>



</tr>

</table>

</form>

<?php // начало программы на PHP

$dbhost="localhost"; //имя сервера

$username="root"; // имя пользователя по умолчанию

$dbpass=""; // пароль базы данных

$dbname="заказы_товаров"; //наименование базы данных

$operation=$_POST['operation']; //чтение поля с наименование операции (кнопки)

$kei=$_POST['kei']; //чтение значения поля kei с кодом единицы измерения

$nei=$_POST['nei']; //чтение поля поля nei с наименованием единицы измерения

$link=mysql_connect($dbhost,$username,$dbpass); //связь с базой

If (!$link) exit("Ошибка при подключении к БД:".mysql_error()); //Ошибка

mysql_select_db($dbname, $link) or exit ("Ошибка при открытии базы". mysql_error());

switch ($operation) //проверка, какая кнопка была нажата

{ case 'Добавить' // нажата кнопка «Добавить»

{ $zapros1="insert into `едизм` (`код_едизм`,`наименование_едизм`)

values('".$kei."','".$nei."')"; //текст запроса на добавление записи

$rezult1=mysql_query ($zapros1); //выполнение запроса

if(!$rezult1) //проверка на ошибку выполнения запроса

exit ("Запись не добавлена:". mysql_error()); //ошибка при выполнении запроса

echo("Запись добавлена"); break; // вывод сообщения о добавлении записи

}

case 'Найти' // нажата кнопка «Найти»

{ $zapros2="select `наименование_едизм` from `едизм` where `код_едизм`='$kei'";

$rezult2=mysql_query ($zapros2); //выполнение запроса на поиск записи

$row = mysql_fetch_assoc($rezult2); //чтение полей записи в массив $row

$r=$row['наименование_едизм']; // выборка из массива поля “наименование_едизм”

if (!$row) echo("не нашлось"); //проверка на существование записи в запросе

echo($r);

break;

}

case 'Изменить' // если нажата кнопка «Изменить»

{ $zapros3="select `наименование_едизм` from `едизм` where `код_едизм`='$kei'";

$rezult3=mysql_query ($zapros3); //выполнение запроса на поиск записи

$row2 = mysql_fetch_assoc($rezult3); //чтение полей записи в массив $row2

$r2=$row2['наименование_едизм']; // выборка из массива поля “наименование_едизм”

if(!$row2) echo("не нашлось"); //проверка на существование записи в запросе

else //запись найдена

{ $zapros="update `едизм` set `наименование_едизм` = '$nei' where

`код_едизм`='$kei'"; //текст запроса на корректировку записи

$rezult=mysql_query ($zapros); //выполнение запроса на корректировку записи

if(!$rezult) exit ("не получилось". mysql_error());//проверка на ошибку

echo("изменено"); //сообщение об успешном изменении записи

}; //конец else

break;

}

} //конец оператора switch

?>

</body>

</HTML>

 

Таблица успеваемости студентов

Структура таблицы успеваемости студентов и вид формы в окне броузера показаны на рисунках 3.2.2.1, 3.2.2.2.

 

Рисунок 3.2.2.1 – Окно просмотра phpMyAdmin таблицы успеваемости студентов

 

Рисунок 3.2.2.2 – Окно браузера с формой ведения таблицы успеваемости

 

Кнопкой Найти выводятся записи, которые содержат указанный текст в наименовании учебного предмета (если текст не указан, то выводятся все записи).

Кнопкой Все записи выводятся все записи таблицы.

Кнопкой Очистить поля формы очищаются.

Кнопкой Выполнить выполняется корректировка таблицы в соответствии указанными “галочками“ в колонках признаков корректировки: изменить запись (карандашек), добавить запись (плюс) и удалить запись (корзина).

В пустой строке укзываются значения полей новой добавляемой в таблицу записи.

Код программы sql.php на языке PHP (автор Прозоров Андрей).

<HTML> <head>

<style type="text/css">

.block1 { width: 13%; float: left; }

.block2 { width: 11%; float: left; padding: 1%; }

.block3 { width: 3%; float: left; }

.block4 { width: 3%; float: left; }

</style>

<title>Учащиеся</title></head>

<form action="1sql.php" method="post">

<table>

<tr>

<td align="right">Наименование предмета</td>

<td> <input name="search" maxlength="20" size="20"/></td>

<td> <input type=submit name="operation" value="Найти"/> </td>

<td> <input type=submit name="operation" value="Все записи"/> </td>

<td> <input type=reset name="operation" value="Очистка"/> </td>

<td> <input type=submit name="operation" value="Выполнить"/></td>

</tr>

</table>

<br>

<body>

<?php // начало программы на PHP

$dbhost="localhost"; //имя сервера

$username="username "; // имя пользователя по умолчанию

$dbpass="dbpass "; // пароль базы данных

$dbname="dbname "; //наименование базы данных

$operation=$_POST['operation']; //чтение поля с наименование операции (кнопки)

$search=$_POST['search']; //чтение значения поля с наименованием предмета

$data=$_POST['data']; //чтение значения поля с датой сдачи экзамена

$ocenka=$_POST['ocenka']; //чтение значения поля с оценок за экзамен

$familiya=$_POST['familiya']; //чтение значения поля с фамилией студента

$kod=$_POST['kod']; //чтение значения поля с номером записи

$link=mysql_connect($dbhost,$username,$dbpass); //связь с базой

mysql_query('SET NAMES cp1251'); //задание системы кодирования текстовых полей

if (!$link) exit("Ошибка при подключении к БД:".mysql_error()); //Ошибка

mysql_select_db($dbname, $link) or exit ("Ошибка при открытии базы". mysql_error());

function table($result) //функция table выводит пустую строку для добавления и

//содержимое запроса, если таковой имеется

//чтение значения поля с наименованием предмета

{

echo '<div class="block2"> Наименование</div>';

echo '<div class="block2">Дата</div>' ;

echo '<div class="block2">Оценка</div>' ;

echo '<div class="block2">Фамилия</div>';

echo '<div class="block4"><img src="edit.png" width="35" height="35"

title="Изменить"></div>';

echo '<div class="block4"><img src="add.png" width="35" height="35"

title="Добавить"></div>';

echo '<div class="block4"><img src="delete.png" width="35" height="35"

title="Удалить"></div><br><br><br>';

echo '<div class="block1"><input name="naim_pred" maxlength="20" size="20"

value = ""/></div>';

echo " ";

echo '<div class="block1"><input type="date" name="data" maxlength="10" size="10"

value = ""/></div>';

echo " ";

echo '<div class="block1"><input name="ocenka" maxlength="1" size="20"

value = ""/></div>';

echo " ";

echo '<div class="block1"><input name="familiya" maxlength="15" size="20"

value = ""/></div>';

echo " ";

echo '<div class="block3"><input type="checkbox" title="Изменить" disabled="disabled"

name="change" value="change"></div>';

echo '<div class="block3"><input type="checkbox" title="Добавить" name="add"

value="add"></div>';

echo '<div class="block3"><input type="checkbox" title="Удалить" disabled="disabled"

name="delete" value="delete"></div>';

echo "<br>";

echo "<br>";

 

while ($row = mysql_fetch_assoc($result))

{

echo '<input type="hidden" name="kod'.$row['код'].'" maxlength="20" size="20"

value = "'.$row['код'].'"/>';

echo '<div class="block1"><input name="naim_pred'.$row['код'].'" maxlength="20"

size="20" value = "'.$row['наим_предмета'].'"/></div>';

echo " ";

echo '<div class="block1"><input type="date" name="data'.$row['код'].'" maxlength="10"

size="10" value = "'.$row['дата'].'"/></div>';

echo " ";

echo '<div class="block1"><input name="ocenka'.$row['код'].'" maxlength="1" size="20"

value = "'.$row['оценка'].'"/></div>';

echo " ";

echo '<div class="block1"><input name="familiya'.$row['код'].'" maxlength="15"

size="20" value = "'.$row['фамилия'].'"/></div>';

echo " ";

echo '<div class="block3"><input type="checkbox" title="Изменить"

name="change'.$row['код'].'" value="change'.$row['код'].'"></div>';

echo '<div class="block3"><input type="checkbox" title="Добавить"

name="add'.$row['код'].'" value="add'.$row['код'].'"></div>';

echo '<div class="block3"><input type="checkbox" title="Удалить"

name="delete'.$row['код'].'" value="delete'.$row['код'].'"></div>';

echo "<br>";

echo "<br>";

$lastkod = $row['код'];

} //конец цикла

echo '<input type="hidden" name="lastkod" maxlength="20" size="20"

value = "'.$lastkod.'"/>';

echo '</form>';

} //Конец функции

switch ($operation) //проверка, какая кнопка была нажата

{

case 'Выполнить'

{ if (isset($_POST["add"])) //проверяем первую пустую строку, добавляют ли ее

{ $zapros="insert into `студенты` (`код`,`наим_предмета`,`дата`,`оценка`,`фамилия`)

values('','".$naim_pred."','".$data."','".$ocenka."','".$familiya."')"; //текст запроса на

// добавление записи выполнение запроса

$rezult=mysql_query ($zapros); if(!$rezult) //проверка на ошибку

exit ("Запись не добавлена: <br>". mysql_error()); //ошибка при выполнении запроса

echo("Запись добавлена <br>");

}

$lastkod = $_POST['lastkod']; //узнаем код последней записи для цикла

for ($i=1;$i<=$lastkod;$i++) // цикл, проходим по галкам

{ $naim_pred=$_POST["naim_pred".$i.""];

$data = $_POST["data".$i.""];

$ocenka = $_POST["ocenka".$i.""];

$familiya = $_POST["familiya".$i.""];

$kod = $_POST["kod".$i.""];

if(isset($_POST["change".$i.""])) //проверяем галки изменения

{ $zapros="update `студенты` set `наим_предмета` = '$naim_pred', `дата` = '$data',

`оценка` = '$ocenka', `фамилия` = '$familiya' where

`Код`='$kod'"; //текст запроса на корректировку записи

$rezult=mysql_query ($zapros); //выполнение запроса на корректировку записи

if(!$rezult) exit ("не получилось". mysql_error()); //проверка на ошибку

echo("Запись ".$i." изменена<br>"); //сообщение об успешном изменении }

elseif(isset($_POST["add".$i.""])) //проверяем галки добавления

{ $zapros="insert into `студенты`

(`код`,`наим_предмета`,`дата`,`оценка`,`фамилия`)

values('','".$naim_pred."','".$data."','".$ocenka."','".$familiya."')"; //текст запроса на

//добавление записи

$rezult=mysql_query ($zapros); //выполнение запроса

if( !$rezult) //проверка на ошибку выполнения запроса

exit ("Запись не добавлена: <br>". mysql_error()); //ошибка при выполнении

echo("Запись добавлена <br>");

}

elseif(isset($_POST["delete".$i.""])) //проверяем галки удаления

{ $zapros="delete from `студенты` where `Код`='$kod'"; //текст запроса

$rezult=mysql_query ($zapros); //выполнение запроса на удаление записи

if(!$rezult) exit ("не получилось". mysql_error()); //проверка на ошибку

echo("Запись ".$i." удалена<br>"); //сообщение об успешном удалении записи }

}

echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=1sql.php">';

break; // все

} // конец Case

case 'Найти' // нажата кнопка «Найти»

{ if ($search == "") //если строка поиска пустая, то выводим все записи

{ $zapros="select * from `студенты` order by `код`"; }

else

{ $zapros="select * from `студенты` where `наим_предмета` like '%$search%'

order by `код`"; // like нужен для поиска не полного слова

//Например есть предмет "Алгебра", в поиске вводим "Ал" и видим предметы в

// которых содержится "Ал"

}

$result=mysql_query ($zapros); //выполнение запроса на поиск записи

table($result); //передаем функции значение результата запроса

break;

} // конец Саse

case 'Все записи': //Нажата кнопка "Все записи"

{ $zapros="select * from `студенты` order by `код`";

result=mysql_query ($zapros); //выполнение запроса на поиск записи

table($result); //передаем функции значение результата запроса

break;

} конец Case

default

{ $zapros="select * from `студенты` order by `код`";

$result=mysql_query ($zapros);

table($result);

break;

} // конец Case

} //конец оператора switch

?>

</body>

</HTML>

 

Разработка Web-приложения на PHP для ведения таблицы единиц измерения в базе данных с СУБД Access

Изменим предыдущее Web-приложение для работы с базой данных с СУБД Access. Создадим базу данных (рисунок 3.3.1) и источник данных с ее описанием (п. 2.11.2) под именем Zakaz.

 

Рисунок 3.3.1 – окно конструктора таблиц СУБД Access

 

Код программы Access.php на языке PHP (автор В.В.Плещев).

<HTML><head><title>Единицы Измерения</title></head>

<body>

<form action="access.php" method="post">

<input type=reset name="operation" value="Очистка"/>

<input type=submit name="operation" value="Добавить"/>

<input type=submit name="operation" value="Найти"/>

<input type=submit name="operation" value="Изменить"/>

<table>

<tr>

<td align="right">Код единицы измерения</td>

<td> <input name="kei" maxlength="10" size="10"/></td>

</tr>

<tr>

<td align="right">Наименование</td>

<td><input name="nei" maxlength="10" size="10"/></td>



</tr>

</table>

</form>

<?

$username=""; //имя пользователя базы

$dbpass=""; // пароль базы

$dbname=" zakaz "; //наименование источника данных с описанием базы данных

$operation=$_POST['operation']; //чтение значения поля 'operation'

$kei=$_POST['kei']; //чтение значения поля kei с кодом единицы измерения

$nei=$_POST['nei']; //чтение значения поля nei c наименованием единицы измерения

$link=odbc_connect($dbname,$username,$dbpass); //связь с базой

if(!$link) exit("Ошибка при подключении к БД"); //проверка на ошибку

switch ($operation) //проверка, какая кнопка была нажата

{case 'Добавить': //нажата кнопка «Добавить»

$zapros1="insert into `едизм` (`код_едизм`,`наименование_едизм`)

values('".$kei."','".$nei."')"; //текст запроса на добавление записи в таблицу

$rezult1=odbc_exec ($link,$zapros1); //выполнение запроса на добавление

if(!$rezult1) exit ("Запись не добавлена");//проверка на ошибку выполнения запроса

echo("Запись добавлена"); //сообщение об успешности добавления записи

break; // выход из оператора switch

case 'Найти' : // нажата кнопка «Найти»

$zapros2="select `наименование_едизм` from `едизм` where `код_едизм`=$kei";

$rezult2=odbc_exec ($link,$zapros2); //выполнение запроса на поиск записи

$row = odbc_result ($rezult2, 'наименование_едизм');//выборка наименование_ едизм

if(!$row) echo("не нашлось"); //запись не нашлась

echo($row); //вывод найденной записи

break; ; // выход из оператора switch

case 'Изменить': // нажата кнопка «Изменить»

$zapros3="select `наименование_едизм` from `едизм` where `код_едизм`=$kei";

$rezult3=odbc_exec ($link,$zapros3); //выполнение запроса на поиск записи

$row2 = odbc_result ($rezult3, 'наименование_едизм'); //

if(!$row2) echo("не нашлось"); // запись не нашлась

else //запись нашлась

{ $zapros="update `едизм` set `наименование_едизм` = '$nei' where `код_едизм`=$kei";

$rezult=odbc_exec ($link,$zapros); //выполнение запроса на корректировку

if(!$rezult) exit ("не получилось"); //ошибка при корректировке записи

echo("изменено"); //успешная корректировка записи

}; //конец else

break; // выход из оператора switch

} //конец оператора switch

odbc_close($link); //закрытие базы данных

?>

</body>

</HTML>

 

Разработка Web-приложения на PHP для поиска и вывода оценок студента из базы данных успеваемости с СУБД Access

 

Оценки студентов хранятся в таблице успеваемости для сайта (рисунок 3.4.1). Создадим источник данных с ее описанием (п. 2.11.2) под именем АИС КГЭК.

 

Рисунок 3.4.1 – Окно конструктора таблиц СУБД Access

 

Для поиска успеваемости студента нужно ввести учетный номер студента (рисунок 3.4.2).

Рисунок 3.4.2 – Окно браузера с формой задания учетного номера студента

 

В результате нужно найти и вывести в окно браузера в виде табличной формы все записи с данными об успеваемости студента с указанным в форме учетным номером.

 

Рисунок 3.4.3 – Окно браузера с таблицей успеваемости студента

 

HTML-код формы входного документа (автор В.В. Плещев).

<HTML> <head> <title>Успеваемость</title> </head>

<body>

<form name="usp" method = "POST" action = "Uspevaemost.php">

<p> Введите учётный номер студента </p>

<p> <input name="number" type="text" size="40"> </p>

<p><input type="submit" name = "submit" value="Посмотреть" >

<input type="reset" value="Очистить"></p>

</form>

</body>

</HTML>

 

Код программы Uspevaemost.php на языке PHP (автор В.В. Плещев).

<?php

$username=""; //имя пользователя базы

$dbpass=""; // пароль базы

$dbname="АИС КГЭК"; //наименование источника данных с описанием базы данных

$link=odbc_connect($dbname,$username,$dbpass); //связь с базой данных

if(!$link) exit("Ошибка при подключении к БД"); //ошибка при подключении базы

$number=$_POST['number']; //чтение значения поля учетного номера студента

$zapros="SELECT [Успеваемость для сайта].* FROM [Успеваемость для сайта] WHERE [Успеваемость для сайта].[Учетный номер студента]=$number;"; //запрос на поиск

$rezult=odbc_exec ($link,$zapros); //выполнение запроса

if(!$rezult) exit ("Ошибка при выполнении запроса"); //ошибка при выполнении запроса

$i=0;

while (odbc_fetch_row ($rezult)) //цикл чтения записей запроса

{ if ($i==0) //первая запись запроса, формирование наименования таблицы

{ $f=odbc_result($rezult, "Фамилия") . ", группа " . odbc_result($rezult, "Группа") ;

echo "<br> <b> <p align='center'>$f</b>"; $i=1;

echo '<table border="1">'; //формирование заголовка таблицы успеваемости

echo "<tr><b><td align='center' valign='top' ><b>№</b><td><b>Семестр

<td align='center' valign='top' ><b>Дисциплина</b>

<td align='center' valign='top' ><b>Испытание</b>

<td align='center' valign='top' ><b>Оценка</b>

<td align='center' valign='top' ><b>Дата</b>

<td align='center' valign='top' ><b>Преподаватель</b>

<td align='center' valign='top' ><b>Долг</b>";

} //формирование очередной строки таблицы с данными об учебном испытании

$semsetr=odbc_result($rezult, "Семестр");

$discip=trim(odbc_result($rezult, "Наименование варианта"));

$ispit=trim(odbc_result($rezult, "Испытание"));

$ocenka=odbc_result($rezult, "Оценка");

if ($ocenka==0) $ocenka="";

$dr=odbc_result($rezult, "Дата получения результата");

if ($dr) //форматирование даты

{ $dr2=$dr. "0000000000";

$dr2=substr($dr2,8,2) . "." . substr($dr2,5,2) . "." . substr($dr2,0,4);

}

else $dr2="";

$prepod=trim(odbc_result($rezult, "ФамПрепод"));

$sost=trim(odbc_result($rezult, "Действие"));

echo "<tr><td align='Center'>$i<td align='Center'>$semsetr<td>$discip<td>$ispit<td align='Center'>$ocenka<td>$dr2<td>$prepod<td align='Center'>$sost";

$i=$i+1;

}

if ($i==0) echo ("Нет записей с успеваемостью студента с указанным учётным номером!");

odbc_close($link); //закрытие базы данных

?>

Разработка Web-приложения на PHP по трудоустройству



<== предыдущая лекция | следующая лекция ==>
Глава 3. Практикум по разработке сайтов и Web-программированию | Постановка задачи


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.483 сек.