Как организовать?
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 таблицы как ты и говорил
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