Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2010, 21:12   #1
Princesse
 
Регистрация: 01.10.2009
Сообщений: 8
По умолчанию Вывод изображений из базы данных

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

find.php:

PHP код:
<?PHP
$text
=$_POST['text'];
if (!
$text)
{
echo 
"Ошибка: вы не ввели параметр поиска!";
exit;
}
$text=addslashes($text);
$db mysql_pconnect('localhost''root''');
if (!
$db)

echo 
"Ошибка соединения с базой данных";
exit;  
}  
mysql_select_db("db_1408045");
$query "select atributy.flag, countries.name, countries.population, countries.form_govern, capitals.city, capitals.data_osnov, governors.head_state, governors.head_govern from countries, capitals, governors, atributy where countries.name='$text' && countries.id=capitals.id && countries.id=governors.id && governors.id=capitals.id && atributy.id=countries.id";
$result=mysql_query($query)or die (mysql_error()."<br><b>$sql</b>");
$rows=mysql_num_rows($result);
$fields=mysql_num_fields($result);
echo 
"<p>Найдено записей: ".$rows."</p>";
echo 
"<table class='small'>";
echo 
"<tr><td><p><b>Флаг</b></p></td>
<td><p><b>Название</b></p></td>
<td><p><b>Население, млн</b></p></td>
<td><p><b>Форма правления</b></p></td>
<td><p><b>Столица</b></p></td>
<td><p><b>Дата основ. столицы</b></p></td>
<td><p><b>Глава гос-ва</b></p></td>
<td><p><b>Глава прав-ва</b></p></td></tr>"
;
for(
$c=0$c<$rows$c++)
{echo
"<tr>";
for(
$cc=0$cc<$fields$cc++)
{echo
"<td>".mysql_result($result$c$cc)."</td>";}
echo
"</tr>";}
echo
"</table>";
?>
a.php:

PHP код:
<?php
$db mysql_pconnect('localhost''root''');
if (!
$db)

echo 
"Ошибка соединения с базой данных";
exit;  
}  
mysql_select_db("db_1408045");
$query "SELECT flag FROM atributy WHERE id=countries.id && id=capitals.id && id=governors.id";
$res mysql_query($query);
$image mysql_fetch_array($res);
header("Content-type: image/*");
echo 
$image['flag'];
echo 
"<br>";
?>
кажется, нужно прописать это,чтобы работало

Код HTML:
<img src = "a.php">
но вот куда именно,не пойму.помогите,пожалуйста.спасибо!
Princesse вне форума Ответить с цитированием
Старый 11.01.2010, 21:37   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А вы уверены, что в БД хранится именно картинка, а не название ее файла?
motorway вне форума Ответить с цитированием
Старый 11.01.2010, 21:45   #3
Princesse
 
Регистрация: 01.10.2009
Сообщений: 8
По умолчанию

да, в поле типа BLOB хранятся сами картинки.если картинку выводить не в ячейке таблицы,а рядом с таблицей, и в a.php прописать в условии where конкретный параметр,например, id='1'. то картинка прекрасно выводится
Princesse вне форума Ответить с цитированием
Старый 12.01.2010, 02:15   #4
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

Я конечно извиняюсь, но не проще ли картинки хранить в отдельной директории, а в БД - ее индекс и/или хеш? Просто тогда ваша проблема будет решена сама собой
Aexx вне форума Ответить с цитированием
Старый 12.01.2010, 08:14   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

конечно кривенько все у вас.. .но как то так:
при выводе - в условии проверяем - если это картинка - то выводим тег <img src='a.php?id='> в качестве параметра передаем id записи
а в скрипте a.php - по id находим картинку и выводим указанным способом... алгоритм таков.... вот как перобразовать ваши строки...
$id сами опеределяйте и a.php так же сами модифицируйте
PHP код:
for($cc=0$cc<$fields$cc++) 
{ if (
$c=='2') {echo"<td><img src='a.php?id=$id'></td>";} 
 else
 {echo
"<td>".mysql_result($result$c$cc)."</td>";} 
echo
"</tr>";} 
ADSoft вне форума Ответить с цитированием
Старый 12.01.2010, 10:09   #6
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Я соглашусь с Aexx, хранить картинки в базе неудобно. Лучше создать папку image, хотя нет, в ней у вас должны быть основные картинки(логотип, маркеры и т.д), ладно пускай ее название будет на Ваше усмотрение.
Пример:
В базу заносим уникальный (id/имя), а в скрипте подставляем переменную с именем картинки к ее расположению(
PHP код:
echo("<img src='pictures/$NAME_pictures'">);//в название входит и расширение(формат)
//или
echo("<img src='pictures/pictures_$ID_pictures.jpg'">") 
). Все. Ненадо себя мучать

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 12.01.2010 в 10:12.
_PROGRAMM_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод изображений из папки через заданное время в секундах на PHP сайте Killer_djon JavaScript, Ajax 15 18.01.2013 07:19
проверка базы данных на корректность веденных данных samouelson БД в Delphi 1 20.12.2009 17:23
Вывод из базы постранично Amen PHP 14 20.10.2009 19:40
delphi вывод 3д изображений ben95 Помощь студентам 1 29.03.2008 13:22