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
Форумы портала PHP.SU :: Версия для печати :: продукты и картинки к ним.
Форумы портала PHP.SU » » Вопросы новичков » продукты и картинки к ним.

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

1. jonston - 04 Октября, 2014 - 18:16:30 - перейти к сообщению
Здравствуйте всем!Есть 3 таблицы products, images, products_images.Как вы понимаете в первых двух хранятся продукты и изображения соответственно, а третья служит для связки их отношение многие ко многим.Так вот как лучше организовать дефолтную картинку к продукту.Что бы при удалении картинки было меньше телодвижений и мороки.Сейчас у меня в таблице products для этого служит поле default_image где хранится id фотки.Неудобство состоит в том что при удалении фотки приходится прорабатывать все продукты и устанавливать этот параметр на 0.Помогите спроектировать.У кого какие мысли есть на этот счет?
2. KingStar - 04 Октября, 2014 - 22:25:31 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if(empty($img)
  2. {
  3.      echo 'дефолт';
  4. }
  5. else
  6. {
  7.      echo $img;
  8. }
3. MiksIr - 04 Октября, 2014 - 22:37:34 - перейти к сообщению
Э, у вас одна фотка может быть у нескольких разных продуктов?

Вариантов много.

Для начала ваш случай - достаточно поставить внешний ключ, и обнуление этого поля будет происходить само. Другое дело, устраивает ли вас, что у продукта есть фото, но нет дефолтного (после удаления дефолтного)?

Можно ввести поле флаг в products_images - там все-равно должны быть внешние ключи на удаление. Но проблема та же - при удалении дефолтного новое дефолтное нужно выбирать руками.

Можно вообще не вводить отдельно понятие дефолтного, а делать сортировку по фото и брать первую. Это если устраивает, что первое фото совпадает с дефолтным.

 

Powered by ExBB FM 1.0 RC1