Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Грамотная структура таблиц MySql
 
 автор: PAUELL   (25.11.2007 в 02:26)   письмо автору
 
 

Я пишу скрипт каталога продукции для сайта компании где я работаю и у меня возникала проблема. Я не могу правильно спланировать стуктуру таблиц MySql для скрипта. Разбирал разные примеры, смотрел чужие скрипты и фотогалерей и интернет магазинов, но ничего не могу понять.
Штука вот какая.
В каталоге доложна быть одноуровневая система (ну всмысле зашел выбрал раздел и в нем сразу продукция). А также каждый товар можно открыть отдельно для более подробного просмотра. Это все просто, вся проблема в том, что для каждого товара может быть не одна фотография, а несколько (от 1 до 5). Но к сожалению я просто не представляю как создать таблицы под фоторафии с такой сложностью. :(
Помогите пожалуйста. Буду очень благодарен. Надеюсь что объяснил понятно.
Низнаю если это важно то я планировал открывать каждую продукцию по артикулу, а не по номеру добавления. Ну что-то типа: izdelie.php?=321240

   
 
 автор: retsoul   (25.11.2007 в 07:29)   письмо автору
 
   для: PAUELL   (25.11.2007 в 02:26)
 

как вариант:
каждый товар имеет свой уникальный идентификатор в таблице товаров
каждой фотографии присваивается номер товара в таблице фотографий
что-то вроде:

таблица товаров (
уникальный id товара,
... // остальные параметры
)

таблица картинок (
уникальный id картинки,
уникальный id товара,
адрес картинки,
... // остальные параметры
)

   
 
 автор: Axxil   (25.11.2007 в 14:49)   письмо автору
 
   для: PAUELL   (25.11.2007 в 02:26)
 

Разберём какие сущности мы имеем.
Есть
1. Группа товаров
2. Товар
3. Набор фотографий

Каждая сущность должна иметь свою таблицу. Таблицы связываются мжду собой с помощью ключей.
Примерно так:

Группа товаров:
group_id | name

Товары:
good_id | name | group_id

Фотографии
photo_id | url | good_id

получаем прозрачную структуру и простоту выборки.

   
 
 автор: PAUELL   (25.11.2007 в 16:04)   письмо автору
 
   для: PAUELL   (25.11.2007 в 02:26)
 

Спасибо за разъяснение!
Только тогда еще вот такой вопрос. Я когда просматривал разные скрипты, то у видел в одной фотогалерее такую штуку: вывод уменьшеных изображений поисходит не из уменьшеного изображения (заранеее созданного), а скрипт "налету", при запросе страницы с уменьшеными копиями генерирует их из больших и показывает. Но насамом деле физически таких маленьких изображений нет!
Как такую штуку осуществить? А то в таблицах надо будет создавать еще и на маленькие фтоографии. Или просто скажите как лучше будет? Просто я заметил при тесте на локальном компьютере, что гернерация уменьшеных копий налету не весьма быстро. А если в интернете будет...

   
 
 автор: retsoul   (25.11.2007 в 16:51)   письмо автору
 
   для: PAUELL   (25.11.2007 в 16:04)
 

этот вопрос уже лучше задавать в форуме по php :)

с помощью php - можно уменьшить изображения и при этом не сохранять его, делается это "на лету", сервером, что естественно может приводить к замедлению его работы, если необходимо одновременно сгенерировать большое количество маленьких фотографий, но с другой стороны, можно будет генерировать такие изображения, а потом сохранять их в какой-то дериктории, что избавит пользователя системы от собственноручного создания маленьких изображений :)

   
 
 автор: PAUELL   (25.11.2007 в 23:23)   письмо автору
 
   для: retsoul   (25.11.2007 в 16:51)
 

ух как! :) Тогда такой вопрос.
Вот у меня таблица с товарами часть, это я так предположил:

  vid_razm enum('razmer','format','emkost') NOT NULL default 'razmer',
  razm tinytext NOT NULL,
  ed_razm enum('mm','а4','а6','ml') NOT NULL default 'mm',

Но это я так сделал, птому что плохо знаю вообще MySQL. и придется все выбирать вручную.
А можно сделать так, чтобы в зависимости от первого пункты выбирался автоматически третий? Ну а середину соответственно вручную прописать! Может я плохой програмист, но что то подсказывает мне, что это уже ближе крешени в PHP. И все таки даже если это так поясните как реализовать.

   
 
 автор: retsoul   (25.11.2007 в 23:45)   письмо автору
 
   для: PAUELL   (25.11.2007 в 23:23)
 

вроде как такое можно сварганить и на MySQL :)
но я пока не совсем догадываюсь, как это сделать, и даже книжки, чтоб подсмотреть нету, так как она осталась - на работе :)
но вероятно, что это можно сделать, как методами sql запроса в php, так и просто написав скриптик для определения параметров меотдами пхп

   
 
 автор: cheops   (26.11.2007 в 11:45)   письмо автору
 
   для: PAUELL   (25.11.2007 в 23:23)
 

Под первым и третим пунктом, что имеется в виду?

   
 
 автор: PAUELL   (11.12.2007 в 00:35)   письмо автору
 
   для: cheops   (26.11.2007 в 11:45)
 

Первый пункт это выбор вида как бы рразмера или формат, и хотелось бы чтобы взависимсти он него выставляся 3 пункт! то есть единицы измерения мм, мл

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования