Xwab
Форумыnavigate_nextОбщие вопросы

структура (1 файл в нескольких категориях)
Сообщения
jasis

обясните пожалуйста ,какая структура базы будет,если сделать,типо ,чтобы 1 файл мог быть в нескольких категориях?чтото я не помню как такое сделать

28 Фев 2013, 0:36
Flyd

`cat`, `file`

28 Фев 2013, 6:19
Виктор

Это подобно тегам.
Не нужно в записи с файлов указывать ID категории.
Просто указывай теги, например вот так {картинки}{юмор}
И допустим вошёл ты в категорию "Картинки"
Поиск по файлам делай так:
SELECT * FROM files WHERE tag LIKE '%\{картинки\}%';

28 Фев 2013, 8:04
jasis

Виктор, это не удобно и не практично

28 Фев 2013, 9:02
Fantik

Тоже интересует такой вопрос

28 Фев 2013, 9:25
Виктор

jasis пишет:
"Виктор, это не удобно и не практично"

Удобно и практично. Или ты предпочитаешь дублировать записи в таблицах?
Ещё подобный вариант, указывать иды категорий в записи. Например {1}{2}{100}, а при отображении файлов в категории использовать запрос
SELECT * FROM files WHERE cats LIKE '%\{$cat_id\}%' ORDER BY data DESC LIMIT 0, 10;
Выведет последние 10 добавленных файлов в каталоге с идом $cat_id
Почему не удобно? Вполне удобно, да и практично. Я пока не вижу других решений.
Ну хотя можно в записи каталога создать ячейку в которой будут указаны все иды файлов находящиеся в этой категории.
Например 1,2,3,4
Запрос будет такой:
$files='1,2,3,4';
SELECT * FROM files WHERE id IN ($files);
Вот это называется не удобно и не практично

28 Фев 2013, 9:40
jasis

Виктор, я не люблю использовать вообще like в запросах не хорошая это штука
добавлено спустя 1 минуту:
Виктор, если не найду других решений,то попробую твои воспользоватся,сколько перелазил в поисковике,ничего не нашол нормального и понятного... хотя когдато находил именно ответ на мой вопрос с хорошим решением

28 Фев 2013, 9:50
Flyd

Виктор, дублировать лучше, чем like использовать
добавлено спустя 52 секунды:
jasis, пиши просто несколько записей для одного файла

28 Фев 2013, 9:53
Fernus

Виктор пишет:
"Это подобно тегам.
Не нужно в записи с файлов указывать ID категории.
Просто указывай теги, например вот так {картинки}{юмор}
И допустим вошёл ты в категорию "Картинки"
Поиск по файлам делай так:
SELECT * FROM files WHERE tag LIKE '%\{картинки\}%';"

28 Фев 2013, 9:56
Виктор

Fernus, м?

28 Фев 2013, 10:47
Ответить на тему