Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / не могу достать фотку из базы / 25 сообщений из 60, страница 1 из 3
27.04.2004, 13:48
    #32498618
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Всем привет!
Вот уже вторые сутки бьюсь страничка .
Сначала не мог затолкать фотку в базу, теперь затолкал, а вытащить как картинку не могу :(
вот код запроса:

$query = "SELECT * FROM $userstable";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
if ($number == 0) {
echo "No records";
} else {
while ($row=mysql_fetch_array($res)) {
echo "А это его фото: ".$row['foto'];
echo "<BR><BR>";
}


вот так я заливал фотки:

<form name="form" method="POST" encType=multipart/form-data action="register.php">

и сам скрипт (самый простой. $foto определена как BLOB):

$query = "INSERT INTO $userstable VALUES('$foto');

Памагите люди добрые.
Я так понимаю проблема в выводе фотки, а значит где-то в верхнем коде, но чё делать так и не пойму :( перепробовал уже все Content-Type - не реагирует :'-(
...
Рейтинг: 0 / 0
27.04.2004, 18:25
    #32499343
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
vladoshka
1. HTML знаешь ?
2. Как там (в html) изображения выводятся ?
...
Рейтинг: 0 / 0
27.04.2004, 18:43
    #32499374
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Привет земляк! ;)
HTML вроде знаю, только не пойму к чему вопрос?
если ты о img src то тут такое не пролетает - у меня же файл хранится только в базе.
а если ты о header ("Content-type: image/gif"); то уже вставил - не помагает :(
очень хотелось бы получить ответ на вопрос а не новый вопрос :(
может ты конечно хочешь меня натолкнуть на мысль, но я что-то никак на неё не натолкнусь :(
эээхъ...

--------

Говори! Говори, говорю! Кому говорят, говори! Вот ты говоришь: говори-говори, а как же я могу говорить когда ты всё время говоришь говори-говори.
...
Рейтинг: 0 / 0
27.04.2004, 19:07
    #32499396
AlexPretov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
простите за нескромный вопрос: а нафига в базе хранить фото? Не лучше ли размещать их в ФС, а в БД хранить ссылку на них? И проще и удобнее, и правильнее.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
27.04.2004, 19:17
    #32499401
dalai lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
vladoshka

вы хттп знаете? ;)

после того, как вы сказали в интернет header ("Content-type: image/gif"), нужно сразу передавать байты картинки. и тогда броузер покажет картинку. а уж как эту картинку вывести на страницу - поможет знание хтмл
...
Рейтинг: 0 / 0
27.04.2004, 19:20
    #32499408
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
> если ты о img src то тут такое не пролетает - у меня же
> файл хранится только в базе

ничего не пролетает :
1. HTML позволяет показывать только через тег <img src=...>
2. Для того чтобы показывать картинки, они н обязаны хранится в виде файлов.


В обшем случае тебе надо 2 скрипта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
// этот скрипт генерирует HTML-код
$query =  "SELECT * FROM $userstable" ; 
$res = mysql_query($query) or die(mysql_error()); 
$number = mysql_num_rows($res); 
if ($number ==  0 ) { 
echo  "No records" ; 
} else { 
while ($row=mysql_fetch_array($res)) { 
echo  "А это его фото: <img src=\" image.php?image_id= ".$row['user_id']." \ ">" ;
echo  "<BR><BR>" ; 
} 

image.php :
Код: plaintext
1.
2.
3.
4.
5.
$image_id = max( 0 , intval($_GET['image_id']));
$res = mysql_query('SELECT foto FROM '.$usertale.' WHERE user_id = '.$image_id);
if (!$res || mysql_num_rows($res) ==  0 ) exit;
$row = mysql_fetch_row($res);
header( "Content-Type: image/jpeg" );
echo $row[ 0 ];


это не готовый скрипт, а примерный алгоритм.

ЗЫ
часто, картинки лучше хранить не в базе а в файле, как писал AlexPretov
...
Рейтинг: 0 / 0
27.04.2004, 19:53
    #32499430
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
результат немного лучше, но что-то не то :-/
Макс М, AlexPretov, можно связаться с вами как-нибудь (ICQ, ...)? Мне принципиально не важно хранить фотки в базе, но если я уже (как мне кажется) на пути к завершению (не без вашей помощи, Макс М.) то зачем хвататься за новое решение. Если оно проще - я готов.
Очень прошу свяжитесь со мной ICQ:98898302 или по мылу.
...
Рейтинг: 0 / 0
27.04.2004, 20:01
    #32499437
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Вот мои image.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mysql_connect($hostname,$username,$password) OR DIE( "Не могу создать соединение " );

mysql_select_db($dbName) or die(mysql_error());

$image_id = max( 0 , intval($_GET['image_id']));
$res = mysql_query('SELECT $foto FROM '.$userstable.' WHERE user_id = '.$image_id);
if (!$res || mysql_num_rows($res) ==  0 ) exit;
$row = mysql_fetch_row($res);
header( "Content-Type: image/jpeg" );
echo $row[ 0 ];

mysql_close();


и request.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
mysql_connect($hostname,$username,$password) OR DIE( "Не могу создать соединение " );

mysql_select_db($dbName) or die(mysql_error());
$query =  "SELECT * FROM $userstable" ;
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);

if ($number ==  0 ) {
 echo  "No records" ;
} else {
 while ($row=mysql_fetch_array($res)) {
 header ( "Content-type: image/gif" );
 echo  "А это его фото: <img src=\" image.php?image_id= ".$row['user_id']." \ ">" ;
 echo  "<BR><BR>" ;
 }
  echo  "<CENTER><P>Всего в нашей базе $number человек.<BR><BR>" ;
  echo  "</CENTER>" ;
}

mysql_close();


Вроде всё как ты посоветовал, Макс М.

------
Говори! Говори, говорю! Кому говорят, говори! Вот ты говоришь: говори-говори, а как же я могу говорить когда ты всё время говоришь говори-говори
...
Рейтинг: 0 / 0
27.04.2004, 20:34
    #32499460
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
ICQ я не пользуюсь.
1. ты код который я привел хоть чуть-чуть понял ?
у тебя в таблице поле user_id есть ? Я его от балды написал. Говорил, что это не готовый код. Нельзя его просто скопировать, вставить себе и работать (я готовые коды не даю :P )

2. Самые явные ошибки:

> $res = mysql_query('SELECT $foto FROM '
чем в пхп одинарные кавычки от двойных оличаются знаешь ?
и что у тебя в переменной $foto ?

> while ($row=mysql_fetch_array($res)) {
> header ("Content-type: image/gif");
зачем здесь header() ?

Не пиши код который не понимаешь, лучше лишний раз переспроси.
...
Рейтинг: 0 / 0
27.04.2004, 20:53
    #32499477
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
user_id у меня конечно не было, но я пытался его создать - ничего не вышло :(
SQL пишет:

Ошибка
SQL-запрос :
ALTER TABLE `aupair` ADD `user_id` VARCHAR NOT NULL AUTO_INCREMENT FIRST
Ответ MySQL:
You have an error in your SQL syntax near 'NOT NULL AUTO_INCREMENT FIRST' at line 1


отличия кавычек не знаю :( но думаю что двойные без оператора используются а одинарная с оператором.
в $foto сама фотка в том виде, в котором в самый первый раз я представил на странице результатов.
header убрал :) больше не буду ;о)
...
Рейтинг: 0 / 0
27.04.2004, 21:03
    #32499487
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
создал user_id int unsigned NOT NULL auto_increment,
уже и фотки имеют вид http://utenti.lycos.it/ximik/image.php?image_id=1
только результат не радует :( это ж не картинка :-/
...
Рейтинг: 0 / 0
27.04.2004, 21:13
    #32499501
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
запускаешь URL - http://utenti.lycos.it/ximik/image.php?image_id=11 в броузере и смотришь что он выводит.

Откуда там весь этот HTML ?

вставь в начало скрипта код:
Код: plaintext
1.
2.
error_reporting(E_ALL);
ini_set('display_errors', 'On');

если будут выводиться ошибки - исправляй
...
Рейтинг: 0 / 0
27.04.2004, 21:25
    #32499519
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Warning: ini_set, getrusage, mysql_list_dbs, get_current_user, set_time_limit, getmyuid, getmypid, dl, leak, listen, chown, chmod, chgrp, realpath, tmpfile, link, mb_send_mail() has been disabled for security reasons in /data/members/free/tripod/it/x/i/m/ximik/htdocs/request.php on line 15

вот такая ошибка вылетела когда я вставил эти 2 строчки :-/

вот это дело http://utenti.lycos.it/ximik/image.php?image_id=11 в брофсере выдаёт... сам видишь - ничего не выдаёт :(
а всё это делает сам request.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
mysql_connect($hostname,$username,$password) OR DIE( "Не могу создать соединение " );
mysql_select_db($dbName) or die(mysql_error());
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$query =  "SELECT * FROM $userstable" ;
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);

if ($number ==  0 ) {
 echo  "No records" ;
} else {
 while ($row=mysql_fetch_array($res)) {
 echo  "А это его фото: <img src=\" image.php?image_id= ".$row['user_id']." \ ">" ;
 echo  "<BR><BR>" ;
 }
  echo  "<CENTER><P>Всего в нашей базе $number человек.<BR><BR>" ;
  echo  "</CENTER>" ;
}
mysql_close();
...
Рейтинг: 0 / 0
27.04.2004, 21:48
    #32499532
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
В image.php в строке
Код: plaintext
$res = mysql_query( "SELECT $foto FROM " .$userstable. " WHERE user_id = " .$image_id);

попробовал и с одинарной кавычкой и с двойной - безрезультатно :'-(
...
Рейтинг: 0 / 0
27.04.2004, 23:39
    #32499570
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
мда, с таким хостером много не напишешь.

> вот это дело http://utenti.lycos.it/ximik/image.php?image_id=11 в брофсере
> выдаёт... сам видишь - ничего не выдаёт :(
ты не экран броузера смотри, а нажми в броузере "View Source"

Наверное твой хостер автоматом вставляет этот яваскрипт.
ИМХо в таком случае самое оптимальное - хранить картинки в файлах

> $res = mysql_query("SELECT $foto FROM ".$userstable." WHERE user_id = ".$image_id);

повторяю вопрос: Что у тебя в переменной $foto ?
...
Рейтинг: 0 / 0
28.04.2004, 01:34
    #32499593
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
в $foto я попытался запихнуть фотку
в базе у меня записано $foto как BLOB и я вижу в базе как там хранится файл размером в 3 килобайта (как я и заливал).

может действительно как-то файлами? :-/
я уже просто не знаю что делать :'-(
...
Рейтинг: 0 / 0
28.04.2004, 01:59
    #32499599
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
вместо :
Код: plaintext
$res = mysql_query( "SELECT $foto FROM " .$userstable. " WHERE user_id = " .$image_id); 

напиши (временно чтобы посмотреть запрос)
Код: plaintext
1.
2.
3.
$sql =  "SELECT $foto FROM " .$userstable. " WHERE user_id = " .$image_id; 
$res = mysql_query($sql);
echo $sql;
exit;

запусти http://utenti.lycos.it/ximik/image.php?image_id=11
и посмотри текст SQL-запроса, который ты в mysql передаешь.

ЗЫ
делай через файлы.
Я не знаю особенностей твоего хостинга, поэтому это единственное, что я могу предложить
...
Рейтинг: 0 / 0
28.04.2004, 02:31
    #32499602
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
сделал.
вот что выдал http://utenti.lycos.it/ximik/image.php?image_id=11
SELECT FROM aupair WHERE user_id = 11
я могу протестить на другом хостинге, но не уверен что поможет. мне и на этом впринципе всё разрешено ровно на столько на сколько это в других разрешается, а яваскрипт и баннеры мне не мешают :) главное что дают у них потестить работоспособность. 50 мегабайт, ПХП, SQL...

а сделать через файлы - с удовольствием :) только не знаю как :( тем более если это уже зашло таки в тупик :(
...
Рейтинг: 0 / 0
28.04.2004, 13:46
    #32500608
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
ты SQL знаешь ?
Ведь запрос:
Код: plaintext
SELECT FROM aupair WHERE user_id =  11  

неверный. Чего в нем не хватает ?

Как делать через файлы:
Создаешь папку /images/
при добавлении юзера в таблицу, получаешь user_id нового юзера (функция mysql_insert_id()) и в папку /images копируешь (move_uploaded_file()) закачанный файл и даешь ему в этой папке имя $user_id.".jpeg";
А когда надо фотку показать просто формируешь такой HTML-код:
Код: plaintext
1.
2.
while ($row=mysql_fetch_array($res)) { 
echo  "А это его фото: <img src=\" /images/ ".$row['user_id']." \ ">" ; 
echo  "<BR><BR>" ; 
...
Рейтинг: 0 / 0
28.04.2004, 13:48
    #32500614
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
что-то херово форум текст в кавычках подсвечивает :(((
...
Рейтинг: 0 / 0
28.04.2004, 15:38
    #32500964
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Спасибо, дорогой! :) ты меня наставил на путь истинный :)
я сейчас делаю по немного другой схеме и картинка выходит :) (старую я уже столько раз переделывал что теперь уже с трудом нахожу концы)...
вот посмотри если что
но теперь проблема в другом: надо будет собрать в кучу форму с аплоадом фотки и всё это не просто с файла на диске (как это работает по вышеуказаному линку) а именно с аплоада с файловой системы пользователя в интернете. схема считывания тоже есть, но надо будет немного поковырятся ;о)
если есть какие советы - буду рад выслушать.
спасибо большое за помощь и поддержку, земляк! даже не знаю как тебя и пивом то угостить (может летом поеду в Украину). Будут вопросы по Германии - я твой должник ;) (серьёзно!)
надеюсь мы не прощаемся и тему я ещё не закрываю :) - буду держать тебя в курсе (если не сильно ещё достал ;О))
буду делать и писать. ты тоже пиши... раз ICQ не пользуешься :(
удачного дня, Макс М. и весеннего настроения! :)
...
Рейтинг: 0 / 0
28.04.2004, 15:58
    #32501021
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
авторнадо будет собрать в кучу форму с аплоадом фотки и всё это не просто с файла на диске (как это работает по вышеуказаному линку) а именно с аплоада с файловой системы пользователя в интернете
3 раза прочел - ничего не понял :(
...
Рейтинг: 0 / 0
28.04.2004, 16:18
    #32501085
Yanis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Телепатирую: юзер должен иметь возможность публиковать свои фотографии на эту или иную страницу :-)
...
Рейтинг: 0 / 0
28.04.2004, 17:34
    #32501326
vladoshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
Yanis, ты прав :)
Именно, чтобы человек зашел на страницу с формой, заполнил её, а потом ещё и добавил вместе с этим свою фотку :) которая и будет аплоадится в базу, а я другим запросом буду выводить его данные с фоткой.
Простой пример - служба знакомств, аукцион...
...
Рейтинг: 0 / 0
28.04.2004, 18:55
    #32501504
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не могу достать фотку из базы
а в чем проблема ?
Ты не можешь форму для регистрации и форму для аплоада картинки в одну форму объединить или что ?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / не могу достать фотку из базы / 25 сообщений из 60, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]