Помощь с MySQL

D6
На сайте с 10.09.2012
Offline
11
275

Подскажите, как сделать, чтобы в 1 поле можно было указывать несколько значений.

Например есть некий товар и этот товар может относиться к разному количеству категорий, хоть к 1, хоть к 10.

Подскажите какой тип поля нужно указывать и как сделать потом php запрос.

П
На сайте с 08.06.2007
Offline
63
#1

Например категории

Не стал далеко ходить и заглянул в DLE

category, varchar(200)

Тут два варианта. Новость может принадлижать нескольким категориям или только одной.

Если нескольким, то пишется 1,3,60,103

В запросе ...AND `category` REGEXP '[[:<:]](1|3|60|103)[[:>:]]' AND..

Если новость принадлежит только одной категории, то соответственно пишется по одной цифре, к примеру у одной 1, у другой 3, у третьей 60.

И в запросе ...AND `category` IN (1,3,60) AND...

Возможны и другие варианты

C8
На сайте с 19.11.2012
Offline
0
#2

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

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