ФорумФорум  КалендарьКалендарь  ЧаВоЧаВо  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  Вход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск
Последние темы
» Подтверждение о прочтении
автор worker8281 Сб Дек 27, 2014 1:05 pm

» Проблема с сессией
автор Murphy Ср Дек 03, 2014 5:20 pm

» Нужнга настройка SugarCRM
автор iliandr777 Пн Ноя 10, 2014 2:28 pm

» Отображение записей (адресатов) в списках адресатов
автор FatherMother Пн Авг 25, 2014 12:21 pm

» Нужен совет. Модуль с множеством одинаковых субпанелей.
автор Павел Пн Июл 28, 2014 12:55 pm

» Нужна помощь с опенкартом
автор manux86 Вс Фев 02, 2014 10:45 am

» вопрос работы насчет СУГАР на сервере
автор Meiir2 Пт Янв 31, 2014 8:46 am

» Интеграция с Google календарем от компании "Куб Три"
автор Dmitry.bereza Ср Авг 14, 2013 10:29 am

» настройка воронки продаж
автор EkaterinaGolovina Чт Июн 13, 2013 12:14 pm

Декабрь 2018
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31      
КалендарьКалендарь
Баннеры
Яндекс цитирования статистика
Поддержка проекта
41001634550309

Поделиться | 
 

 Работа с текстовыми и графическими данными совместно в PHP и MySQL

Перейти вниз 
АвторСообщение
Admin
Admin


Сообщения : 74
Очки : 71
Дата регистрации : 2010-08-23

СообщениеТема: Работа с текстовыми и графическими данными совместно в PHP и MySQL   Пт Сен 10, 2010 3:49 am

Итак, постановка задачи:

1. Требуется хранить в базе данных такую информацию:

Фамилия, имя, отчество email, фотографию и краткое описание (или биографию) человека.

Для достижения поставленной цели выбран вполне распространенный комплект веб-сервера: Apache 1.3.20, PHP 4.1.0, MySQL 4.0.0.

Для начала создаем БД:

Код:
mysqladmin -p create testdb

затем делаем ее текущей:
Код:

use testdb.

Дальше создаем таблицу для хранения информации:
Код:

CREATE TABLE infouser (
 id_infouser int(7) unsigned NOT NULL auto_increment,
 lastname varchar(255) NOT NULL default '',
 firstname varchar(255) NOT NULL default '',
 patronym varchar(255) NOT NULL default '',
 imageinfouser mediumblob,
 filename1 varchar(50) default NULL,
 filesize1 varchar(50) default NULL,
 filetype1 varchar(50) default NULL,
 infoinfouser varchar(255) default NULL,
 emailinfouser varchar(100) default NULL,
 PRIMARY KEY (id_infouser))

Сначала создадим файл для хранения функций, таких как, соединение с БД, и шаблонов, чтобы десять раз не переписывать одно и то же:
Код:

<?php
// tags for open html-docs
function html_begin($header)
{
 print("<html>n");
 print("<head>n");
 print("<META HTTP-EQUIV="Content-Type"
Content="text/html">");
 print("<title>Тестовая БД</title>n");
 print("</head>n");
 print("<body text = "#000000" bgcolor
= "#52FA90">n");
 print("<br><center><table width = "90%"
border = "1" bgcolor = "green" cols = "1">");
 print("<tr><td><p style = "text-align:
justify; margin-left: 50 px; margin-right: 50 px">");
 if ($header)
 print("<h3>$header</h3>n");
 print("</p><hr width = "100%"
size = "1" color = "#c0c0c0"><p>");
}
//
// tags for close html-docs
function html_end()
{
 print("</td></tr></table></center>");
 print("</body></html>");
}
//
// function for connect mysql and select database
function connect_mysql()
{
define("DBName","testdb");
define("HostName","localhost");
define("UserName","valery");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{ echo "Сервер временно не работает, заходите позже.".DBName."!<br>";
 echo mysql_error();
 exit;
}
mysql_select_db(DBName);
}
?>

Делаем форму для ввода информации.
Файл с именем insert.php
Код:

<?php
include("function.inc");
$header = ("ввести нового человека");
html_begin ($header);
?>
<form action = "insert2.php" method = "post"
enctype = "multipart/form-data">
Фамилия: <input type = "text" name = "lastname"
size = "30" maxlenght = "30"><br>
Имя: <input type = "text" name = "firstname"
size = "30" maxlenght = "30"><br>
Отчество: <input type = "text" name = "patronym"
size = "30" maxlenght = "30"><br>
Email: <input type = "text" name = "email"
size = "30" maxlenght = "30"><br>
Фотография: <input type = "file" name = "userfile"><br>
Информация о человеке:<br>
<textarea name = "infoinfouser" cols = "40"
rows = "5"></textarea>
<br>
<input type = "submit" value = "Ввести нового человека"><br>
</form>
<?php
html_end();
?>

затем идет страница принимающая информацию имя файла достаточно очевидно insert2.php:
Код:

<?php
include("function.inc");
$header = ("ввод информации");
html_begin ($header);
//
//read file image
$fd = fopen ($userfile, "rb");
$userfile2 = fread ($fd, filesize ($userfile));
fclose ($fd);
$userfile2 = addslashes($userfile2);
//
// insert in db
//
connect_mysql();
mysql_query("SELECT * FROM infouser");
mysql_query("INSERT INTO infouser(id_infouser, lastname, firstname, patronym,
imageinfouser, filename1, filesize1, filetype1, infoinfouser, email_infouser)
VALUES('','$lastname', '$firstname', '$patronym', '$userfile2', '$userfile_name',
'$userfile_size', '$userfile_type', '$infoinfouser', '$email')");
echo "<br>";
print "Новый пользователь успешно введен";
mysql_close();
html_end();
?>

вот и все мы ввели данные, теперь их надо как-то прочитать.
Для этого используем еще три файла.
Первый файл выдает список пользователей.
prev.php
Код:

<?php
include("function.inc");
//
$header = ("просмотр записей");
html_begin ($header);
//
connect_mysql();
//
print ("<table cols ="1">");
// Выводим все записи
$r=mysql_query("SELECT * FROM infouser");
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
print "<tr>";
print "<td align = "center">";
print "<a target = "_new" href = "sample.php?id=$f[id_infouser]">$f[lastname]
$f[firstname] $f[patronym] </a>";
print "<p>";
//
print "</td>";
print "</tr>";
}
print "</table>";
mysql_close();
html_end();
?>

второй файл используется для выдачи данных по одному пользователю: sample.php
Код:

<?php
//
include("function.inc");
$header = ("просмотр записей");
html_begin ($header);
//
connect_mysql();
//
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
//
$sql = "SELECT * FROM infouser WHERE id_infouser = '$val'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
echo "<table border = "0" width = "70%">n";
for ($i = 0; $i < $rows; $i++) {
$data = mysql_fetch_object($result);
echo " <tr>n";
echo " <td><font color = "red" size
= "+1">$data->lastname<br> $data->firstname<br>
$data->patronym<br></font></td>n";
echo " <td rowspan = "2"><center><img
src = 'download.php?id=$data->id_infouser' border =
 '2' bgcolor = '#01cccc'></center></td>n";
echo " </tr>n";
echo " <tr>n";
echo " <td><font color = "green">$data->emailinfouser</font></td>n";
echo " </tr>n";
echo " <tr>n";
echo " <td colspan = "2">$data->infoinfouser</td>n";
echo " </tr>n";
}
mysql_free_result($result);
}
mysql_close();
//
html_end();
?>

следующий файл реализует обработку фотографий и выдачу их: download.php
Код:

<?php
//
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
//
//
define("DBName","testdb");
define("HostName","localhost");
define("UserName","valery");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{ echo "Сервер временно не работает, заходите
позже.".DBName."!<br>";
 echo mysql_error();
 exit;
}
mysql_select_db(DBName);
//
//
$sql = "SELECT imageinfouser, filename1, filetype1 FROM
infouser WHERE id_infouser='$val'";
$result = @mysql_query($sql);
$data = @mysql_result($result, 0, "imageinfouser");
$name = @mysql_result($result, 0, "filename1");
$type = @mysql_result($result, 0, "filetype1");
header("Content-type: $type");
echo $data;
}
mysql_close();
?>
Вернуться к началу Перейти вниз
Посмотреть профиль http://easy-sugarcrm.forum2x2.ru
 
Работа с текстовыми и графическими данными совместно в PHP и MySQL
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: PHP - статьи, советы-
Перейти: