|
|
|
| Приветствую ! У меня проблема. Сделал сайт объявлений, там есть фото, текст объявлений, дата, телефон, юзер. Проблема в том, что если пользователь не добавляет фото, нужно сделать так, чтобы выводилась картинка по умолчанию. Картинки у меня хранятся в базе, поле image mediumblob. почему именно в базе, потому что объявления обновляются каждый день, и те объявления которые старше 7 дней они удаляются. Вот PHP код для вывода картинки из базы:
<?php
include("db.php");
if ( isset( $_GET['id'] ) ) {
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT `image` FROM `nkjsg` WHERE `id`=".$id;
$res = mysql_query($query);
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
header("Content-type: image/*");
echo $image['image'];
}
}
}
?>
пробовал сделать условие что если $query пуста то выводится картинка из другой таблицы, но что то не получается, по всякому пробовал, и ни как чё то не хочет. Может кто то и подскажет как решить эту проблему. Заранее спасибо | |
|
|
|
|
|
|
|
для: Денис2009
(10.09.2011 в 10:19)
| | почему именно в базе, потому что объявления обновляются каждый день, и те объявления которые старше 7 дней они удаляются
это абсолютно не причина, удалять их можно в любом случае
я бы лично хранил в базе только путь к файлу
в вашем случае нужно сохранить на диске изображение по умолчанию и...
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
header("Content-type: image/*");
echo $image['image'];
} else{
вот тут вставить картинку
}
|
вас никто не заставляет хранить картинку по умолчанию в базе, да еще и делать лишний запрос
можно конечно и из другой таблицы доставать, но нафиг лишняя ненужная нагрузка на базу | |
|
|
|
|
|
|
|
для: Valick
(10.09.2011 в 10:49)
| | не получается, а картинку добавлять через echo ?
<?php
include("db.php");
if ( isset( $_GET['id'] ) ) {
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT `image` FROM `OB` WHERE `id`=".$id;
$res = mysql_query($query);
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
header("Content-type: image/*");
echo $image['image'];
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
header("Content-type: image/*");
echo $image['image'];
}
else{
echo "<img src='http://site.ru/Logo.png'>";
}
}
}
}
?> | |
|
|
|
|
|
|
|
для: Денис2009
(10.09.2011 в 11:04)
| |
<?php
include("db.php");
if ( isset( $_GET['id'] ) ) {
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT `image` FROM `OB` WHERE `id`=".$id;
$res = mysql_query($query);
if ( mysql_num_rows( $res ) > 0) {
$image = mysql_fetch_array($res);
header("Content-type: image/*");
echo $image['image'];
}else{
echo "<img src='http://site.ru/Logo.png'>";
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(10.09.2011 в 11:15)
| | всё равно не работает :( | |
|
|
|
|
|
|
|
для: Денис2009
(10.09.2011 в 11:19)
| | да, чуть не так
так пробуйте
<?php
include("db.php");
if ( isset( $_GET['id'] ) ) {
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT `image` FROM `OB` WHERE `id`=".$id;
$res = mysql_query($query);
if ( mysql_num_rows( $res ) > 0 ) {
$image = mysql_fetch_array($res);
if($image['image']){
header("Content-type: image/*");
echo $image['image'];
}else{
echo "<img src='http://site.ru/Logo.png'>";
}
}
}
}
?>
|
но все равно хранение изображений в базе, это неудачный вариант во всех отношениях | |
|
|
|