
Спустя 2 минуты, 42 секунды (10.03.2009 - 12:14) waldicom написал(а):
Есть два способа: руками и головой.
Второй предпочтительней.
пысы. Засовывать картинки в базу данных - это не есть хорошо
Второй предпочтительней.
пысы. Засовывать картинки в базу данных - это не есть хорошо
Спустя 4 минуты, 27 секунд (10.03.2009 - 12:18) twin написал(а):
ShineТо есть ты хочешь хранить изображения прямо в базе, как я понял. Иногда действительно есть такая необходимость, но крайне редко. Вообще в базе нужно хранить только путь до картинки, а саму - на сервере в девственно чистом виде. Тогда поле BLOB Ни к чему, достаточно VARCHAR
Спустя 32 секунды (10.03.2009 - 12:19) Joker написал(а):
А зачем засоывать картинку в базу? не проще её в виде файла на серве хранить?
Спустя 58 минут, 4 секунды (10.03.2009 - 13:17) Shine написал(а):
Дело в том, что я только изучаю php и с картинками работала не так уж и много....вся работа у меня ограничивалась внедрением в html код:
<img src="http://www.homepage.ru/my/my.jpg">...
объясню свою ситуацию...у меня в таблице Uzel имеется некоторое количество узлов и я хотела сделать так, чтобы каждому узлу соответствовала своя схема, чтобы когда загружалась база узлов можно было бы для каждого узла просмотреть свою картинку...и я подумала, что из базы ее вызвать будет легче
<img src="http://www.homepage.ru/my/my.jpg">...
объясню свою ситуацию...у меня в таблице Uzel имеется некоторое количество узлов и я хотела сделать так, чтобы каждому узлу соответствовала своя схема, чтобы когда загружалась база узлов можно было бы для каждого узла просмотреть свою картинку...и я подумала, что из базы ее вызвать будет легче

Спустя 2 минуты, 13 секунд (10.03.2009 - 13:19) waldicom написал(а):
Цитата (Shine @ 10.03.2009 - 11:17) |
Дело в том, что я только изучаю php и с картинками работала не так уж и много....вся работа у меня ограничивалась внедрением в html код: <img src="http://www.homepage.ru/my/my.jpg">... объясню свою ситуацию...у меня в таблице Uzel имеется некоторое количество узлов и я хотела сделать так, чтобы каждому узлу соответствовала своя схема, чтобы когда загружалась база узлов можно было бы для каждого узла просмотреть свою картинку...и я подумала, что из базы ее вызвать будет легче ![]() |
Нет. Лучше, как было предложено выше, хранить в базе ссылку на картинку...
Будет гораздо легче как базе, так и скрипт.
Спустя 7 минут, 14 секунд (10.03.2009 - 13:26) Joker написал(а):
Цитата (waldicom @ 10.03.2009 - 10:19) |
Нет. Лучше, как было предложено выше, хранить в базе ссылку на картинку... Будет гораздо легче как базе, так и скрипт. |
Полностью согласен, ибо если каждый раз достовать из мускула кучу данных слишком уж большая нагрузка будет создоваться.
Спустя 23 минуты, 24 секунды (10.03.2009 - 13:50) Shine написал(а):
а тогда как добавить ссылку на картинку в базу?
insert into Uzel (image) values (\"Z:\home\localhost\www\phphost.ru\www\first.jpg\") where id_uzel=1
правильно я написала? или все таки по другому?
insert into Uzel (image) values (\"Z:\home\localhost\www\phphost.ru\www\first.jpg\") where id_uzel=1
правильно я написала? или все таки по другому?

Спустя 3 минуты, 37 секунд (10.03.2009 - 13:53) Joker написал(а):
нет, нужно прописывать либо абсолютный путь, типо www.site.ru/img/img.gif либо относительно того файла где будет подключаться.
Спустя 12 минут, 31 секунда (10.03.2009 - 14:06) Shine написал(а):
Цитата |
либо относительно того файла где будет подключаться |
т.е. Z:\home\localhost\www\phphost.ru\www\first.php ...а файл first.php в свою очередь содержит:
HTML |
<html> <head> <title>Схема узла</title> </head> <body bgcolor="#000000"> <img src="first.jpg"> </body> </html> |
если нет, то напишите подробнее, пожалуйста

Спустя 8 минут, 3 секунды (10.03.2009 - 14:14) Joker написал(а):
Ну вот смотри, Z:\home\localhost\www\phphost.ru\www\first.php вот этот файл подключает, картинку, если картинка лежит в этой же папке тобишь
Z:\home\localhost\www\phphost.ru\www\first.jpg то надо лишь записать просто название картинки тобишь first.jpg, но я те советую создать папку отдельно
например Z:\home\localhost\www\phphost.ru\www\img\first.jpg тогда в базу запишем, img\first.jpg
Z:\home\localhost\www\phphost.ru\www\first.jpg то надо лишь записать просто название картинки тобишь first.jpg, но я те советую создать папку отдельно
например Z:\home\localhost\www\phphost.ru\www\img\first.jpg тогда в базу запишем, img\first.jpg
Спустя 2 часа, 20 минут, 21 секунда (10.03.2009 - 16:34) Shine написал(а):
так...я создала отдельно папку для картинок, занесла их в базу...теперь для вывода их из базы написала код :
на предыдущий файл переходим по ссылке из другого файла с кодом:
но у меня не получается вывести картинку, которая соответствует определенному id_uzel..
Свернутый текст
PHP |
<? |
на предыдущий файл переходим по ссылке из другого файла с кодом:
Свернутый текст
HTML |
<html> <head> <title>Клиенты</title> </head> <body bgcolor="#FFEBCD" link="#8B0000" alink="#8B0000" vlink="#8B0000"> <div align="right"> <a href="http://localhost/phphost.ru/www/image.php">Посмотреть схему узла</a> </div> <h2>Клиенты</h2> <em>Для изменения записанной информации нажмите на имя клиента</em> |
PHP |
<?php |
но у меня не получается вывести картинку, которая соответствует определенному id_uzel..
Спустя 3 минуты, 58 секунд (10.03.2009 - 16:38) waldicom написал(а):
PHP |
$sql="SELECT `image` FROM $table_name |
а где
SQL |
$row=mysql_fetch_array($result) |
и что-то типа
PHP |
$image = $row['image'] |
Правда и потом останется еще одна мелочь, но я пока не буду говорить, потому что не надо забывать про свою голову
Спустя 35 минут, 26 секунд (10.03.2009 - 17:14) Shine написал(а):
исправила:
PHP |
if(isset($_GET['id_uzel'])) |
что не так?...что еще нужно?
Спустя 1 минута, 46 секунд (10.03.2009 - 17:15) waldicom написал(а):
Цитата (Shine @ 10.03.2009 - 15:14) | ||
исправила:
что не так?...что еще нужно? |
А теперь самое время подумать головой...
Например, что хранится в таблице и как оно должно выводиться на веб-страницу.
Спустя 57 минут, 22 секунды (10.03.2009 - 18:13) Shine написал(а):
нуу...в таблице хранится ссылка на картинку...а вот насчет вывода...я тут нашла:
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
header("Content-type: image/*");
// И передаем сам файл
echo $image['content'];
вставила все это в свой код вот так:
но у меня ничего не вышло...
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
header("Content-type: image/*");
// И передаем сам файл
echo $image['content'];
вставила все это в свой код вот так:
Свернутый текст
PHP |
if(isset($_GET['id_uzel'])) |
но у меня ничего не вышло...
Спустя 5 минут, 34 секунды (10.03.2009 - 18:18) Joker написал(а):
вместо этого
PHP |
header("Content-type: imаgе/*") |
напиши это
PHP |
echo '<img src="'.$image.'" border="0" />'; |
Спустя 19 минут, 22 секунды (10.03.2009 - 18:38) waldicom написал(а):
Цитата (Joker @ 10.03.2009 - 16:18) | ||||
вместо этого
напиши это
|
Совершенно точно!
Так как в базе у тебя ледит ссылка на картинку, то браузеру нужно как-то сказать, как эту картинку отобразить... Для этого и нужен тэг <img>
Спустя 2 минуты, 22 секунды (10.03.2009 - 18:40) Joker написал(а):
Цитата |
Совершенно точно |
а то

Спустя 8 минут, 19 секунд (10.03.2009 - 18:48) Shine написал(а):
Цитата |
напиши это PHP echo '<img src="'.$image.'" border="0" />'; |
написала...теперь выводит только белый квадратик с крестиком..
Спустя 4 минуты, 1 секунда (10.03.2009 - 18:52) Joker написал(а):
Цитата |
написала...теперь выводит только белый квадратик с крестиком.. |
Покажи то что получилось, html код всмысле.
Спустя 1 минута, 18 секунд (10.03.2009 - 18:54) Joker написал(а):
скорее всего при запросе достаёт пустоту, проверь в $image лежал путь до картинки.
Спустя 28 минут, 23 секунды (10.03.2009 - 19:22) Shine написал(а):
так...вот код:
а насчет пути..как его проверить?...картинка у меня лежит в
Z:\home\localhost\www\phphost.ru\www\img...а в таблице я ее сохранила как img\knigka.jpg
Свернутый текст
HTML |
<html> <head> <title>Схема узла</title> </head> <body bgcolor="#FFFAFA"> <? $image=$_POST['image']; $db_name="Passport_object"; $table_name="Uzel"; $connection=@mysql_connect("localhost","root") or die ("Невозможно подключиться к MySQL."); $db=@mysql_select_db($db_name, $connection) or die("Невозможно выбрать БД."); if(isset($_GET['id_uzel'])) { $sql="SELECT `image` FROM $table_name WHERE `id_uzel` =\"$id_uzel\" "; $result=@mysql_query($sql, $connection) or die ("Невозможно выполнить запрос потому что:" . mysql_error()); while($row=mysql_fetch_array($result)) { $id_uzel=$row['id_uzel']; $image = $row['image']; } } echo '<img src="'.$image.'" border="0" />'; ?> </body> </html> |
а насчет пути..как его проверить?...картинка у меня лежит в
Z:\home\localhost\www\phphost.ru\www\img...а в таблице я ее сохранила как img\knigka.jpg
Спустя 16 минут, 30 секунд (10.03.2009 - 19:39) Joker написал(а):
Покажи что получилось.
Спустя 9 минут, 58 секунд (10.03.2009 - 19:49) Shine написал(а):
если ты имеешь ввиду тот код, который можно просмотреть нажав правой кнопочкой мышки и указав "Просмотреть код HTML", то вот он:
HTML |
<html> <head> <title>Схема узла</title> </head> <body bgcolor="#FFFAFA"> <img src="" border="0" /> </body> </html> |
Спустя 40 минут, 24 секунды (10.03.2009 - 20:29) Joker написал(а):
у тебя пустая перменная, $image покажи что, что есть в таблице какие данные.
Спустя 26 минут, 50 секунд (10.03.2009 - 20:56) Shine написал(а):
в таблице у меня в столбцах id_uzel и image содержится: 5,7,8 и img\sipailovskiy.jpg, img\semya.jpg, img\knigka.jpg соответственно...
я сейчас посмотрела...в таблице же есть ссылка на картинку, так вот когда я на нее нажимаю, то она у меня тоже не открывается...или она не должна открываться в таблице?
я сейчас посмотрела...в таблице же есть ссылка на картинку, так вот когда я на нее нажимаю, то она у меня тоже не открывается...или она не должна открываться в таблице?
Спустя 50 минут, 56 секунд (10.03.2009 - 21:47) Shine написал(а):
подскажите еще...может по другому можно как то сделать, если так не получается?...или что то еще добавить в уже имеющийся код?
Спустя 27 минут, 38 секунд (10.03.2009 - 22:14) Joker написал(а):
HTML |
<html> <head> <title>Схема узла</title> </head> <body bgcolor="#FFFAFA"> <? $image=$_POST['image']; $db_name="Passport_object"; $table_name="Uzel"; $connection = @mysql_connect("localhost","root") or die ("Невозможно подключиться к MySQL."); $db = mysql_select_db($db_name, $connection) or die("Невозможно выбрать БД."); if(isset($_GET['id_uzel'])) { $result=@mysql_query("SELECT `image` FROM `".$table_name."` WHERE `id_uzel` ='".$id_uzel."'", $connection) or die ("Невозможно выполнить запрос потому что:" . mysql_error()); while($row=mysql_fetch_array($result)) { $id_uzel=$row['id_uzel']; $image = $row['image']; $alt = (empty($image))?"Картинка в базе отсутсвует.":"Картинка отображаеться"; echo '<img src="'.$image.'" border="0" alt="'.$alt.'" />'; } } ?> </body> </html> |
вот попробуй.
Спустя 1 час, 33 минуты, 35 секунд (10.03.2009 - 23:48) Shine написал(а):
вообще ничего не выходит((...пустой лист и все...а когда я
Цитата |
echo '<img src="'.$image.'" border="0" alt="'.$alt.'" />'; |
переставляю:
PHP |
$alt = (empty($image))?"Картинка в базе отсутсвует.":"Картинка отображаеться"; |
то выводится квадратик с крестиком..
Спустя 9 минут, 41 секунда (10.03.2009 - 23:58) sergeiss написал(а):
Попробуй применить мощное средство отладки
: просмотри код страницы, полученной в браузере. К этому моменту твой скрипт уже отработал, и ты увидишь "живьем" результаты его деятельности.
И лучше покажи эти результаты тут. Тогда можно будет понять, что же не так делается. А может, и тебе понятно станет, и без подсказок.

И лучше покажи эти результаты тут. Тогда можно будет понять, что же не так делается. А может, и тебе понятно станет, и без подсказок.
Спустя 1 час, 10 минут, 37 секунд (11.03.2009 - 01:08) Joker написал(а):
HTML |
<html> <head> <title>Схема узла</title> </head> <body bgcolor="#FFFAFA"> <? $image=$_POST['image']; $db_name="Passport_object"; $table_name="Uzel"; $connection = @mysql_connect("localhost","root") or die ("Невозможно подключиться к MySQL."); $db = mysql_select_db($db_name, $connection) or die("Невозможно выбрать БД."); if(isset($_GET['id_uzel'])) { $result=@mysql_query("SELECT `image` FROM `".$table_name."` WHERE `id_uzel` ='".$id_uzel."'", $connection) or die ("Невозможно выполнить запрос потому что:" . mysql_error()); if (mysql_num_rows($result)>0) { while($row=mysql_fetch_array($result)) { $id_uzel=$row['id_uzel']; $image = $row['image']; $alt = (empty($image))?"Картинка в базе отсутсвует.":"Картинка отображаеться"; echo '<img src="'.$image.'" border="0" alt="'.$alt.'" />'; } } else { echo "из базы недостано ни чего!!!"; } } ?> </body> </html> |
вот тут поставил проверку если выведет "из базы недостано ни чего!!!" то значит ты непавильно достаешь что то из базы.
Спустя 19 часов, 49 минут, 43 секунды (11.03.2009 - 20:58) Shine написал(а):
так..я посмотрела...у меня не определяется id_uzel, когда я нажимаю на ссылку, т.е. в браузере написано просто id_uzel= ..и все...можете посмотреть файлы и сказать мне где нужно еще определить переменную id_uzel?, а то я смотрю и не могу понять..
вот часть файла bd_client.php из которого мы переходим в файл image.php:
и сам файл image.php:
и еще...если я вот здесь:
вот часть файла bd_client.php из которого мы переходим в файл image.php:
Свернутый текст
HTML |
<html> <head> <title>Клиенты</title> </head> <body bgcolor="#FFEBCD" link="#8B0000" alink="#8B0000" vlink="#8B0000"> <div align="right"> <a href="image.php?id_uzel="$_GET['id_uzel']"">Посмотреть схему узла</a> </div> <h2>Клиенты</h2> <em>Для изменения записанной информации нажмите на имя клиента</em> |
и сам файл image.php:
Свернутый текст
PHP |
<? |
и еще...если я вот здесь:
Цитата |
<a href="image.php?id_uzel="$_GET['id_uzel']"">Посмотреть схему узла</a> |
вместо $_GET['id_uzel'] ставлю просто номер узла, то картинка выводится..
Спустя 9 минут, 1 секунда (11.03.2009 - 21:07) sergeiss написал(а):
Вот эту строчку
HTML |
<a href="image.php?id_uzel="$_GET['id_uzel']"">Посмотреть схему узла</a> |
замени на
HTML |
<a href="image.php?id_uzel=<?php echo $_GET['id_uzel']; ?>">Посмотреть схему узла</a> |
Спустя 7 минут, 45 секунд (11.03.2009 - 21:15) Shine написал(а):
получилось, Получилось, ПОЛУЧИЛОСЬ!!!!!!
....и что бы я без вас делала???
Спасибо!!





Спустя 3 минуты, 41 секунда (11.03.2009 - 21:18) sergeiss написал(а):
Цитата (Shine @ 11.03.2009 - 21:15) |
....и что бы я без вас делала??? ![]() ![]() ![]() |
На это у меня есть "стандартный" ответ: думала бы сама

И вопрос еще. Ты поняла, в чем была последняя ошибка, почему у тебя не выводилось ничего?
Спустя 5 минут, 40 секунд (11.03.2009 - 21:24) Shine написал(а):
нуу...переменная определяется в php, а я ее просто вставила в html-код и все...так она естественно не выведется...ну вот через теги php ее и надо было вывести
