Как организовать?

1. Spwak (14.08.2010 / 16:02)
Всем привет. Хочу написать зц как на http://konon.mobi/game/1/ подскажите как лучше все организовать? Думаю файлы и скрины хранить в папках files и about, а все остальное в базе. Ток не очень пойму, как сделать чтобы к одной игре можно было добавлять не 1 скрин, а 2-3 например? И как лучше сделать файловую структуру?

2. Виталий (14.08.2010 / 23:42)
ну ето надо зделать бд scrin:
name
scrin
где имя ето имя файл а скрин путь к скрину потом извлекаеш все записи где name=$filename и выводиш ..все..ето сама суть.. код сам напишеш

3. Spwak (15.08.2010 / 11:58)
Просто там все подругому.. Вот например http://konon.mobi/game/39875/ там несколько скринов, и несколько jar файлов к одной игре идет..

4. shurik (15.08.2010 / 12:00)
сделай таблицу file
id|game|url|description|img
номер|для игры|адрес|описание|скрин=1,игра=0
думаю понятно

5. Spwak (15.08.2010 / 12:08)
4. SHuRiK_есть чо7, так только 1 скрин ведь получается можно добавить?

6. KOZZ (15.08.2010 / 12:12)
5, ну так потом записывай типа того:
если скрин 1 - записать урл скрина, если больше - записывать через '|' урлы скринов.
и считывать потом в этом роде.

7. ramzes (15.08.2010 / 12:20)
три таблицы
файл
субфайл
скрин
файл - имя, описание, настройки для файла, категория
субфайл
имя, адрес, статистика, разрешение экрана, ось и тп, файл.ид
скрин - адрес, файл.ид
примерно так

8. Spwak (15.08.2010 / 12:38)
7. ramzes, не получится, так как неограниченная вложенность папок..

9. ramzes (15.08.2010 / 12:42)
почему это не получится то?)) я про папки специально не говорил т.к. это их ни как не касается

10. Spwak (15.08.2010 / 13:00)
я думаю сделать так:

CREATE TABLE `files` (
`id` int(11) unsigned NOT NULL auto_increment,
`dir` enum('0','1') NOT NULL default '0',
`dir_count` int(11) unsigned NOT NULL default '0',
`path` varchar(255) NOT NULL,
`infolder` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`rus_name` varchar(255) NOT NULL,
`priority` tinyint(3) NOT NULL default '0',
`loads` int(11) unsigned NOT NULL default '0',
`timeupload` int(11) unsigned NOT NULL,
`about` text NOT NULL,
`screen` text NOT NULL,
`descr` text NOT NULL,
`genre` varchar(32) NOT NULL,
`ips` text NOT NULL,
`yes` mediumint(4) unsigned NOT NULL default '0',
`no` mediumint(4) unsigned NOT NULL default '0',
`hidden` enum('0','1') NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `path` (`path`),
KEY `loads` (`loads`),
KEY `yes` (`yes`),
KEY `infolder` (`infolder`),
KEY `infolder_timeupload` (`infolder`,`timeupload`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

11. ramzes (15.08.2010 / 13:07)
зачем все в одну таблицу?
если не ошибаюсь часто обновляемые таблици не дают кешировать запросы к ним.
ну и работать с такой таблицей не очень удобно, на то они и придуманы что бы у каждой строки/категории/типа было свое место, а не мясо как в файлах

12. Lucky (15.08.2010 / 13:10)
10, структура как в sea 'path', 'infolder' не советую такое использовать.Придумай другую.

13. Spwak (15.08.2010 / 13:14)
11. ramzes, наверное сделаю как ты писал..

14. Spwak (15.08.2010 / 13:15)
12. Lucky, Почему? И как посоветуешь сделать?

15. ramzes (15.08.2010 / 13:27)
таблица папок
ид, имя, урл, тип, надпапка.ид (у корневых 0), настройки, счетчик, время кеша.
я вот так делаю, бесконечная вложенность разумеется.

16. Spwak (15.08.2010 / 13:35)
В sea в папках files, screen, about создается структора папок, а в них уже сами файлы. Я думаю этого не стоит делать, достаточно сразу в папки files и screen добавлять файлы, а описания в базу.

17. Spwak (15.08.2010 / 17:11)
15. ramzes, сделаю 3 таблицы как ты и говорил smile

18. Андрюха (15.08.2010 / 17:28)
16. Spwak, ты не прав. Обычно продают архивы загрузок с описаниями вида имя_файла.тхт так что лучше оставить папку эбаут

19. Spwak (15.08.2010 / 17:32)
18. Wapruks, я все игры буду добавлять через админку, да и врядли буду архивы покупать.
А описания в базе это для уменьшения нагрузки.

20. ramzes (15.08.2010 / 18:35)
Wapruks (15 Августа 2010 / 17:28)
16. Spwak, ты не прав. Обычно продают архивы загрузок с описаниями вида имя_файла.тхт так что лучше оставить папку эбаут
делается простая функция скана папки и при нахождении новых файлов вместе с инфой о них в бд заливается содержимое файла описания после чего файл удаляется

21. Spwak (17.08.2010 / 15:44)
Всем спасибо.

URL: https://visavi.net/topics/12606