Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 93

Отображение картинки из БД в браузере

20.11.2011, 22:55. Показов 3882. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В БД картинки отображаются!

1. Как сделать так, что бы картинки хранящиеся в БД выводились в браузере?
PHP
1
2
3
4
5
6
7
<tr>
   <?
      foreach ($rows as $row) {
         echo ("<td><img src=\"$row[picture]\"></img></td>");
      }
   ?>
</tr>
2. Как с веб-странички загрузить файл, что бы тот загрузился в БД [,на сервер в нужную папку]?

Вот полный код странички. Нужна кнопочка для загрузки файла в БД и также, корректно считать файл и отобразить его в браузере!
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
require("global.php");
$query = "SELECT  `Band`.`name` ,  `Categories`.`cname` ,  `Band`.`picture` ,  `Band`.`descr` 
    FROM  `Categories` 
    LEFT JOIN  `MusicAdvisor`.`Band` ON  `Categories`.`cat_ID` =  `Band`.`cat_ID`
    WHERE `Band`.`name` != \"\" 
    ORDER BY  `Band`.`band_ID` ASC ,  `Band`.`name` ASC";
 
// WHERE `Band`.`name` != \"\" , `Categories`.`name` = $categoryName 
$result = mysql_query($query);
while ($rows[] = mysql_fetch_assoc($result));
?>
<html>
    <body>
        <table>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[name]</td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[cname]</td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td><img src=\"$row[picture]\"></img></td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[descr]</td>");
                }
                ?>
            </tr>
        </table>
        <table border="1">
            <tr>
                <?
                while ($row = mysql_fetch_array($result)) {
                    for ($i = 0; $i < sizeof($row); $i++) {
                        echo ("<tr><td>$row[$i]</td></tr>");
                    }
                }
                ?>
            </tr>
        </table>
        <br />
    </body>
</html>
Browse
pngFreak
Миниатюры
Отображение картинки из БД в браузере  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2011, 22:55
Ответы с готовыми решениями:

Отображение картинки в браузере
Надо отобразить на сайте изображение, которое не лежит на сайте, т.е. известен его физический путь, по виртуальному пути к нему не...

Неправильное отображение в браузере
Здравствуйте, столкнулся с такой проблемой при написании учебника html. В Chrome кнопки отображаются нормально, а в Opera поднимаются на...

Не работает отображение в браузере
Здрасти!Дело такое. Начинаю изучать html и scc поэтому сталкнулся с непонятной пока для меня пр-ой как не отображение в браузере ...

7
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
21.11.2011, 01:04
Цитата Сообщение от mcKulja Посмотреть сообщение
Как сделать так, что бы картинки хранящиеся в БД выводились в браузере?
Нефиг в базе картинки хранить =)
По существу: Надо вытягивать из базы id записи с картинкой.
PHP
1
<img src="/getImage.php?id=<?=$params['id']?>" />
PHP
1
2
3
4
5
6
7
8
9
10
11
//getImage.php
if(!$_GET['id']) die();
$query = "
SELECT `picture`
FROM `BAND`
WHERE `band_ID` = $_GET['ID']
LIMIT 1
";
$res = mysql_fretch_assoc($query);
header("Content-type: image/jpeg");
echo $res;
1
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 93
21.11.2011, 17:48  [ТС]
Не отображает! =(
getImage.php
PHP
1
2
3
4
5
6
7
8
<?php
require ("global.php");
if (!$_GET[band_ID]) die();
$query = "SELECT `picture` FROM `Band` WHERE `band_ID` = $_GET[band_ID] LIMIT 1";
$result = mysql_fetch_assoc($query);
header("Content-type: image/jpeg");
echo $result[picture];
?>
band.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
require("global.php");
$query = "SELECT  `Band`.`band_ID` , `Band`.`name` ,  `Categories`.`cname` ,  `Band`.`picture` ,  `Band`.`descr` 
    FROM  `Categories` 
    LEFT JOIN  `MusicAdvisor`.`Band` ON  `Categories`.`cat_ID` =  `Band`.`cat_ID`
    WHERE `Band`.`name` != \"\" 
    ORDER BY  `Band`.`band_ID` ASC ,  `Band`.`name` ASC";
 
// WHERE `Band`.`name` != \"\" , `Categories`.`name` = $categoryName 
$result = mysql_query($query);
while ($rows[] = mysql_fetch_assoc($result));
?>
<html>
    <body>
        <table>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[name]</td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[cname]</td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td><img src=\"/getImage.php?id=" . $row[band_ID] . "\" /></td>");
                }
                ?>
            </tr>
            <tr>
                <?
                foreach ($rows as $row) {
                    echo ("<td>$row[descr]</td>");
                }
                ?>
            </tr>
        </table>
        <br />
    </body>
</html>
Ссылка на getImage.php?id=№, работает и ID группы получаем, но картинка не показывается..
Если есть другие варианты отображения картинки буду рад выслушать... Дело в том, что мне надо, что бы картинка привязывалась к объекту!
т.к. в будущеи придётся делать - добавление категорий, групп с именем, описанием и картинкой! так же удаление и изменение!
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
21.11.2011, 18:37
Цитата Сообщение от forgergg Посмотреть сообщение
<img src="/getImage.php?id=<?=$params['id']?>" />
что это?
Может просто пути не совпадают? У тя здесь $row[picture] хранится имя файла или имя вместе с путем? И проверь этот путь, если там вабще картинка, которую ты пытаешься вывести
0
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
21.11.2011, 19:52
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
У тя здесь $row[picture] хранится имя файла или имя вместе с путем?
У него там байты картинки хранится.

Добавлено через 7 минут
Может заголовков не хватает ?
Code
1
2
3
Content-transfer-encoding: binary
Content-disposition: inline; filename="pic.png"
Content-Length: size_of_pic
Добавлено через 10 минут
Еще мне кажется, что такой синтаксис обращения к ассоциативному массиву вне двойных кавычек не поддерживается.
PHP
1
$row[band_ID]
пхп будет искать константу band_ID, не найдя ее выдаст предупреждение и подставит туда, скорее всего, нуль/пустую_строку.

Добавлено через 5 минут
Еще можешь просто попробовать открыть страницу getImage?id=*сюда подставить id существующей картинки*
Если не выдаст картинку, значит надо смотреть: если крякозябры - надо заголовки поправить, если пусто - запрос к базе / ошибки в коде / синтаксис.
Если картинка появилась, то возможно браузеру для отображения ее в теге надо знать доп параметры. Собственно заголовки я выше привел.
0
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 93
21.11.2011, 21:08  [ТС]
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in F:\home\webPractice\www\getImage.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at F:\home\webPractice\www\getImage.php:6) in F:\home\webPractice\www\getImage.php on line 7
PHP
1
2
3
4
5
6
7
8
9
<?php
require ("global.php");
$picID = $_GET['id'];
if (!$picID) die();
$query = "SELECT `picture` FROM `Band` WHERE `band_ID` = $picID LIMIT 1";
$result = mysql_fetch_assoc($query);
header("Content-type: image/jpeg");
return $result[picture];
?>
URL картинки http://webpractice/getImage.php?id=2

Добавлено через 2 минуты
Цитата Сообщение от forgergg Посмотреть сообщение
Еще мне кажется, что такой синтаксис обращения к ассоциативному массиву вне двойных кавычек не поддерживается.
PHP
1
$row[band_ID]
пхп будет искать константу band_ID, не найдя ее выдаст предупреждение и подставит туда, скорее всего, нуль/пустую_строку.
$row[band_ID] работает, если есть функция mysql_fetch_assoc();
а если поставить 'band_ID' или "band_ID" не работает!

Добавлено через 2 минуты
Вот вид БД https://www.cyberforum.ru/atta... 1321813533
а вот данные в БД
FieldTypeCollationAttributesNullDefaultExtra
band_IDint(8)  NoNoneauto_increment
namevarchar(25)utf8_unicode_ci NoNone 
descrtextutf8_unicode_ci NoNone 
cat_IDint(8)  NoNone 
pictureblob MIME: image/png BINARYNoNone 

Добавлено через 5 минут
Если нажать на картинку в БД, вот что выдаёт:
http://localhost/Tools/phpmyad... 209065c0f1

Добавлено через 2 минуты
transformation_wrapper.php?db=MusicAdvis or &
table=Band &
primary_key= `Band`.`band_ID` +%3D+1 &
transform_key= picture &
sql_query= SELECT +%2A+ FROM + `Band` &
token=cdb4bfbcac2e93e6a2ee1e209065c0f1

Добавлено через 4 минуты
Может сделать БД по другому?
и прошу кидать, если не затруднит, полный пример, а то не всегда понятно куда пихать или напишите в какую строчку пихнуть! Строчки в первом посте! Спасибо.
0
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
21.11.2011, 23:51
mysql_query кто будет добавлять) Я ошибся, забыл написать.
0
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 93
05.12.2011, 21:20  [ТС]
Извиняюсь, что так долго не являлся!
К сожалению не работает!!!!
Band.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
require "global.php";
$pageName = __FILE__;
$pageName = str_replace("W:\\home\\webPractice\\www\\", "", $pageName);
$pageName = str_replace(".php", "", $pageName);
$pageName = str_replace("_", " ", $pageName);
require("vars.php");
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script language="Javascript">
            function Logout() {
                var agree = confirm("Do you realy want logout?");
                if (agree) {
                    return true;
                }
                else {
                    return false;
                }
            }
        </script>
 
        <title><?php echo($siteName . " - " . $pageName); ?></title>
        <link href="css.css" rel="stylesheet" type="text/css"></head>
    <body>
        <?php
        require("Admin_Panel.php");
        getAdminPanel($pageName);
        require("header.php");
        $band_name = $_GET['bname'];
        $catband_ID = $_GET['id'];
        $query = "SELECT * FROM `Band` WHERE `band_ID`= $band_name ";
        $query2 = "SELECT * FROM `Categories` WHERE `cat_ID` = $catband_ID ";
        $result = mysql_query($query);
        $result2 = mysql_query($query2);
        while ($aband[] = mysql_fetch_assoc($result));
        while ($acat[] = mysql_fetch_assoc($result2));
        echo ("<a href=\"Main.php\">Main</a>
    /<a href=\"Categories.php\">Categories</a>
    /<a href=\"Band_List.php?id=" . $catband_ID . "\">Band List</a><hr />");
        ?><table border="1">
            <tr><td>
                    <?
                    foreach ($aband as $brow) {
                        echo ("$brow[name]<br /></td></tr>");
                    }
                    echo("<tr><td>");
                    foreach ($acat as $crow) {
                        echo ("$crow[cname]<br /></td></tr>");
                    }
                    echo("<tr><td>");
                    foreach ($aband as $brow) {
                        echo ("$brow[descr]<br /></td></tr>");
                    }
                    echo("<tr><td>");
                    foreach ($aband as $brow) {
                        echo ("<img src=\"/getImage.php?id=" . $brow[band_ID] . "\" /><br /></td></tr>");
                    }
                    ?>
        </table>
 
        <div align="center" class="body">
            <?php require("footer.php"); ?>
        </div>
    </body>
</html>
getImage.php
PHP
1
2
3
4
5
6
7
8
9
10
<?php
require ("global.php");
$picID = $_GET['id'];
if (!$picID) die();
$query = "SELECT `picture` FROM `Band` WHERE `band_ID` = $picID LIMIT 1";
$result = mysql_query($query);
$pic = mysql_fetch_assoc($result);
header("Content-type: image/jpeg");
return $pic[picture];
?>
БД не изменилась!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2011, 21:20
Помогаю со студенческими работами здесь

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

Отображение в браузере mdb
Существует база mdb подскажите как в браузере сделать отображение этой базы данных и пользователи с разными правами имели разные...

Отображение кода в браузере
Написал такой код на php &lt;?php include &quot;html/header.html&quot;; ?&gt; и на html

Отображение страницы в браузере
Люди помогите пожалуйста выполнить лабораторные по отображению страницы в браузере,а то сестре задали их. она не шарит в этом и я тоже как...

Отображение Desktop в браузере
Стоит задача написать прогу которая бы позволяла просматривать рабочий стол через браузер (любой моззила, ие, опера, сафари и т.д и т.п)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru