Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: С изображения к изображению

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 26 Августа, 2010 - 12:29:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




В таблице 6 полей для изображения.

photo1
photo2
photo3
photo4
photo5
photo6


Мне надо что если отсуствует изображение в поле photo1, тогда что бы выводилось бы photo2, елси отсуствует в поле photo2, тогда выводить photo3 и.т.д.
Если все поля пустый тогда выводить изображение no_photo.gif

Попытался так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (!empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo1";}
  4. if (empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo2";}
  5. if (empty($ad->photo2)){$AS_ADS_IMG_URL="$ad->photo3";}
  6. if (empty($ad->photo3)){$AS_ADS_IMG_URL="$ad->photo4";}
  7. if (empty($ad->photo4)){$AS_ADS_IMG_URL="$ad->photo5";}
  8. if (empty($ad->photo5)){$AS_ADS_IMG_URL="$ad->photo6";}
  9. if (empty($ad->photo1) && empty($ad->photo2) && empty($ad->photo3) && empty($ad->photo4) && empty($ad->photo5) && empty($ad->photo6)) {$AS_ADS_IMG_URL="../no_photo.gif";}
  10. ?>
  11. <img src="<?PHP echo "images/photos/$AS_ADS_IMG_URL"; ?>" width="112" height="84" style="border: 3px double #999999" alt="" />


Но что то код не работает Недовольство, огорчение или как можно более профисиональнее прописать эту проверку.
P.S. Нубные пользователи иногда не добавляют изображение в поле photo1, а сразу добавляют в photo2 ))

спс.Ув.
 
 Top
duk
Отправлено: 26 Августа, 2010 - 12:37:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Февр. 2010  
Откуда: Москва


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2.                         $AS_ADS_IMG_URL="../no_photo.gif";
  3.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo1";}
  4.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo2)){$AS_ADS_IMG_URL="$ad->photo2";}
  5.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo3)){$AS_ADS_IMG_URL="$ad->photo3";}
  6.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo4)){$AS_ADS_IMG_URL="$ad->photo4";}
  7.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo5)){$AS_ADS_IMG_URL="$ad->photo5";}
  8.                                                 if ($AS_ADS_IMG_URL=="../no_photo.gif" and !empty($ad->photo6)){$AS_ADS_IMG_URL="$ad->photo6";}
  9.  
 
 Top
garvey
Отправлено: 26 Августа, 2010 - 12:41:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




Такой вопрос вроде уже был. Я уже отвечал. Скажу только, что у вас неправильная структура базы данных. Не соблюдены формы нормализации. А если вы захотите сделать не 6 а 7 фоток. Что, создавать новое поле.

Правильнее сделать 2 таблицы.

users
id | username | ...

photos
id | user_id | priority

Делаете связь users.id - photos.user_id как 1 ко многим. Поле priority определяет, какую фотографию отображать. Тут и указываются ваши 1-6.
 
 Top
pantela
Отправлено: 26 Августа, 2010 - 12:52:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




duk - спс большое

garvey - Я понял о чём ты, у меня так реализованно в одном проект. Но тут ситуачия у меня токая, у меня 3 таблицы т.е. напр.

auto
moto
skuter


А я думаючто будет нагрзка если будуи изображения Авто в Мотоциклах.

Есть вариант создать для каждой таблицы свой доп. таблицу изображения и между ними делать связь. напр.

auto_photo
moto_photo
skuter_photo


А как лучще и больше праивльное будет, что быменьше нагрузки и код праивльно составить.
 
 Top
dsb80
Отправлено: 26 Августа, 2010 - 15:34:13
Post Id



Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Янв. 2009  
Откуда: СПб


Помог: 0 раз(а)




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

ИМХО база данных служит для хранения данных а не для их обработки.


-----
Не слушайте... После 19.00 вместо меня пишет ПЫВО
 
 Top
garvey
Отправлено: 26 Августа, 2010 - 16:29:59
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




dsb80 Ужасный способ. Ваша БД будет не соответствовать даже первой нормальной форме. http://ru[dot]wikipedia[dot]org/wiki/Нормальная_форма
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB