Urkagan
16:38 03-02-2003 PHP-движок
Продолжу сотрясать воздух своими глупыми мыслями На этот раз это будут рассуждения об организации сайта с динамическим содержанием.

Супруга попросила меня сделать движок для ее портфолио. Она - дизайнер и список ее работ достаточно часто обновляется, посему тяжеловато каждый раз править HTML для добавления новой работы.

Я написал простенький скрипт на PHP+MySQL. Но мучают сомнения в правильности подхода решения проблемы.
Теперь подробнее о проблеме Есть куча картинок, которые разделены на несколько категорий (веб-дизайн, банеры, полиграфия ect). По своей сути, поля для базы данных везде одинаковые (имя, линк к самому рисунку, линк к превью рисунка и помелочи). Я сделал три таблицы в базе данных. Первая таблица - категории (уникальный id, имя, описание). Затем категория images (уникальный id, имя, описание и урлы, описанные выше). Третья таблица связей. В которой перечисляются id категорий и id принадлежащих им рисунков. Получается достаточно универсальная структура. Можно оперативно изменять, как параметры рисунков, так и категорий.
Сам php файл построен на анализе переменных передаваемых в адресе. То есть типа www.myhost.ru/index.php?cat=1&action=view

Однако, в одной из конференций прочитал мысль, что не стоит делать скрипт из одного файла, как в моем случае. В результате размышлений, решил отказаться от универсальности в пользу максимального решения конкретной задачи. То есть создам три таблицы по виду изображений (web, banners, poligraphy). И вызываться будут соответсвующие php-файлы: как то web.php, banners.php ect. В каждом из них будет реализована функция отображения из соответствующей таблицы.

А чего спрашиваю собственно? А вот собственно думаю, какой способ лучше. Есть предположение, что второй
Комментарии:
zar
13:39 13-02-2003
имхо, первый. к тому же если каждая картинка может лежать только в одной категории, то третью таблицу можно убрать, добавив перед этим во вторую страницу поле, содержащие id категории для картинки.
что касается второго способа, думаю что нестоит создавать 3 однотипные таблицы, вам же наверняка будет известен id каждой категории, так и используйте его в каждом из скриптов.
если вам очень важны красивые адреса категорий и если у вас в качестве вебсервера стоит apache, то есть несколько способов смодулировать красивые адреса вызывая один и тотже скрипт(mod_rewrite, ErrorDocument 404).
Urkagan
14:41 13-02-2003
zar
спасибо, особенно за совет на счет организации базы данных. Я как то все ориентировался на создание универсального движка. Но, все прихожу к мысли о специализации его.

А апача мне надо еще поизучать, чтобы заняться такими фичами как mod_rewrite. Слышал о ней много, но вот конкретики не находил (На самом деле плохо искал )