Как сделать гибкую таксономию на php

12
M
На сайте с 13.07.2012
Offline
174
#11
totamon:
это может более правильный вариант, но уже для далнейшей нормализации базы данных и с вариантом когда для одной игры несколько платформ привязано.
отдельная таблица связи делается для того чтобы правильно делать выборки данных.
те если у вас несколько платформ возможно для игры, вs делаете мульти селект и в таблицу игры пишете данные ИД платформ в виде строки "1,3,6", и плюс к этому пишете в связанную таблицу ИДигры-ИДплатформы
idgame idplatform
1 1
1 3
1 6
например...
это делается для того чтобы если вы захотите сделать сортировку по платформам и выводить на странице платфрмы с ИД 3, то делаете выборку по этой таблице с LEFT JOIN таблицы игр, на странице игры делаете список платформ с выборкой idplatform IN('1,3,6')

Вообще конечно это то что я и хотел первоначально, по потом понял, что нехватит сил пока что это реализовать) надо изучать)

rame0
На сайте с 17.03.2011
Offline
41
#12
mariux:
Вообще конечно это то что я и хотел первоначально, по потом понял, что нехватит сил пока что это реализовать) надо изучать)

Лучше изучите. Потом проблемы будут, когда поймете, что нужно переделывать.

Судя по поставленной в старт посте задаче, вам необходим этот вариант, а не придуманный костыль. Почитайте про виды связывания в реляционных БД. В частности про связь много-ко-многому (ваша задача).

totamon
На сайте с 12.05.2007
Offline
437
#13
mariux:
Ладно, я не буду вас напрягать) Догадался до одного способа при помощи if else. То есть если в поле pc стоит ноль, то платформу не показывает, если 1 то показывает. И так по аналогии создам поля для других платформ. Вот таким простым методом я решил свой вопрос. Спасибо за помощь):)

Может быть слово таксономия тут и не к месту) извиняюсь, просто вот привык к нему:)

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

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
M
На сайте с 13.07.2012
Offline
174
#14
rame0:
Лучше изучите. Потом проблемы будут, когда поймете, что нужно переделывать.
Судя по поставленной в старт посте задаче, вам необходим этот вариант, а не придуманный костыль. Почитайте про виды связывания в реляционных БД. В частности про связь много-ко-многому (ваша задача).

согласен, мой вариант довольно тупой😂

---------- Добавлено 12.12.2014 в 01:17 ----------

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

Спасибо, буду изучать:) Я помоему даже уже понял, как это всё реализовать(вариант с прослоечной таблицей).

---------- Добавлено 12.12.2014 в 01:46 ----------

totamon:
дак почему одну платформу?? у вас под платформы отдельная таблица в которую вы пишете сколько угодно платформ... платформы с играми связаны через ИД платформы, отдельная страница для добавления платформ, отдельно в играх связь платформ с игрой...
в чем смысл таксономии вообще? вы используте это слово, но не понимаете что оно означает? или как оно реализуется? это связанные зависимые данные... сущности хранятся в разных таблицах и связываются через ИД (индентификатор), структура может быть и сложнее чем я описал... в вашем случае как минимум еще кроме платформ должна быть еще таблица категорий, а с игрой они связаны через ИД платформы и ИД категории

ещё раз, вообще конечно я понял что вы хотите мне объяснить, только одно но. На самой странице показа игры и её платформ, каждая платформа должна быть в виде ссылки, которая ведет уже на страницу описание самой платформы. по этому мне кажется, что без прослоечной таблицы тут не обойтись?

IL
На сайте с 20.04.2007
Offline
435
#15

Пост на хабре с картинками.. наглядно поясняет виды связей.

http://habrahabr.ru/post/193380/

mariux:
по этому мне кажется, что без прослоечной таблицы тут не обойтись?

Строго говоря, можно и без неё.. через запятую, например, указывать. Другой вопрос, что это "не по фэн-шую"..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
M
На сайте с 13.07.2012
Offline
174
#16
ivan-lev:
Пост на хабре с картинками.. наглядно поясняет виды связей.
http://habrahabr.ru/post/193380/


Строго говоря, можно и без неё.. через запятую, например, указывать. Другой вопрос, что это "не по фэн-шую"..

Так я поначалу и думал как через запятую, но вот никак не додумался. А с прослоечной таблицей уже всё сделал и хорошо работает. Хотелось бы ещё и через запятую узнать как можно сделать, но в принципе поставленную задачу выполнил)

Спасибо всем людям в этой теме. Без вас я бы не справился!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий