
6 Работа 6: «взаимодействие php и субд MySql»
Задание: Создать базу данных, сделать 2 файла, в 1ом форма ( куда вводить данные для БД), во 2ом списки для вывода данных из БД.
Листинг программы:
Создание базы данных.
<html>
<head>
<title></title>
</head>
<body>
<?php
// Подключаемся к серверу,
// на котором будем создавать базу данных.
// В данном случаи это локальный кеомпьютер на котором вы работаете.
// Его имя всегда localhost (если его специально не изменили).
$HOST = "localhost"; // имя сервера
$USER = "root"; // пользователь базы данных MySQL
$PASS = ""; // пароль для доступа к серверу MySQL
$DB = "lphp"; // название создаваемой базы данных
if(!mysql_connect("$HOST", "$USER", "$PASS")) exit(mysql_error());
else {echo "";}
$r = mysql_query("CREATE DATABASE $DB");
if(!$r)exit(mysql_error());
if (!mysql_select_db($DB)) exit(mysql_error());
else{echo "";}
// устанавливаем кодировку
mysql_query('SET NAMES cp1251;');
echo "База данных успешно создана.";
?>
</body>
</html>
Ввод в базу данных
<html>
<head>
<title></title>
</head>
<body>
<form action="FORM.php" method="POST">
Фамилия: <input type="text" name="name1">
Имя: <input type="text" name="name2">
Отчество: <input type="text" name="name3">
<br>
<input type="submit" name="okbutton" value="OK">
</form>
<?php
$conn = mysql_connect(
"localhost", "root", "")
or die("Невозможно установить
соединение: ". mysql_error());
echo "Соединение установлено";
//mysql_close($conn);
if (!mysql_select_db("lphp")) exit(mysql_error());
else{echo "";}
mysql_query("INSERT INTO `lphp`.`fio` (`f`, `i`, `o`) VALUES ($_POST[name1], $_POST[name2], $_POST[name3])");
print ($_POST[name1]);
//mysql_query('INSERT INTO `lphp`.`fio` (`f`, `i`, `o`) VALUES ('$_POST['name1']', '$_POST['name2']', '$_POST['name3']');');
?>
</body>
</html>
Вывод из базы данных
<html>
<head>
<title></title>
</head>
<body>
<?php
$conn = mysql_connect(
"localhost", "root", "")
or die("Невозможно установить
соединение: ". mysql_error());
echo "Соединение установлено";
if (!mysql_select_db("lphp")) exit(mysql_error());
else{echo "";}
$list_f = mysql_list_fields(lphp,fio);
$n1 = mysql_num_fields($list_f);
// сохраним имена полей в массиве $names
for($j=0;$j<$n1; $j++){
$names[] = mysql_field_name ($list_f,$j);}
$sql = "SELECT * FROM fio"; // создаем SQL запрос
$q = mysql_query($sql,$conn) or die(); // отправляем
// запрос на сервер
$n = mysql_num_rows($q); // получаем число строк результата
//рисуем HTML-таблицу
echo " <TABLE BORDER=0 CELLSPACING=0 width=90%
align=center><tr><TD BGCOLOR='#005533' align=center>
<font color='#FFFFFF'><b>fio</b></font></td>
</tr></TABLE>";
echo "<table cellspacing=0 cellpadding=1 border=1
width=90% align=center>";
// отображаем названия полей
echo "<tr>";
foreach ($names as $val){
echo "<th ALIGN=CENTER BGCOLOR='#C2E3B6'>
<font size=2>$val</font></th>"; }
echo "</tr>";
for($i=0;$i<$n; $i++){ // перебираем все строки в
echo "<tr>";
foreach ($names as $k => $val) { // перебираем все
$value = mysql_result($q,$i,$val); // получаем
echo "<td><font size=2> $value</font></td>";
}
echo "</tr>"; }
echo "</table>";?>
</body>
</html>
ЗАКЛЮЧЕНИЕ
Целью данной научно-исследовательской работы являлось изучение скриптового языка программирования общего назначения PHP (PHP: Hypertext Preprocessor). Возможности данного языка очень широки, однако в данной работе затрагиваются только те разделы, которые относятся к разработке динамических web-страниц. Целью работы достигнута. Успешно изучены:
1) Переменные и операторы
2) Управление потоком данных
3) Массивы
4) Передача данных между сервером и клиентом
5) Взаимодействие PHP и СУБД MySQL