В ячейке хранятся идентификаторы необходимых предметов через запятую.
На странице получаю через GET id предмета. И вот нужно выбрать из первой таблицы строки, где в вышеуказанном поле содержится такой id.
То есть допустим в первой таблице есть строка и в ней поле со значением 1,2,4,5,6.
Мне нужно ее выбрать т.к. через get id=5.
Есть ли вариант не доставать сначала значение это поля как массив и не искать потом совпадение каким нибудь inarray() или что - то типо того.
Спустя 3 минуты, 33 секунды (29.01.2012 - 19:24) Игорь_Vasinsky написал(а):
получил строку
explode(',', $row)
in_array()
explode(',', $row)
in_array()
Спустя 36 секунд (29.01.2012 - 19:24) Гость_Евгений написал(а):
Все таки придется? ))
Спустя 1 минута, 52 секунды (29.01.2012 - 19:26) Игорь_Vasinsky написал(а):
просто не правильно организована БД. не зачем так данные хранить. Достаточно было создать вспомогательную талицу
Спустя 1 минута, 23 секунды (29.01.2012 - 19:28) Гость_Евгений написал(а):
Можно чуток подробнее?
Спустя 1 минута, 13 секунд (29.01.2012 - 19:29) Игорь_Vasinsky написал(а):
покажи структуру БД - просто - одну строку с названиями столбцов и значениями
Спустя 5 минут, 36 секунд (29.01.2012 - 19:34) Гость_Евгений написал(а):
Я делал через запятую, если несколько магазинов надо добавить к одному товару
Спустя 3 минуты, 14 секунд (29.01.2012 - 19:38) Игорь_Vasinsky написал(а):
добавляешь ещё одну таблицу
id | id_shop | shop
id - понятно
в shop пишешь свои цифры
в id_shop - идентификатор к которому они принадлежат.
т.е.
ID | ID_SHOP | DIGITS (или как там у тя)
1 | 1 | 1
2 | 1 | 3
3 | 3 | 9
и т.д.
потом просто запрос в 2 таблицы делать
gjnjv
id | id_shop | shop
id - понятно
в shop пишешь свои цифры
в id_shop - идентификатор к которому они принадлежат.
т.е.
ID | ID_SHOP | DIGITS (или как там у тя)
1 | 1 | 1
2 | 1 | 3
3 | 3 | 9
и т.д.
потом просто запрос в 2 таблицы делать
gjnjv
Спустя 2 минуты, 4 секунды (29.01.2012 - 19:40) Rand написал(а):
Гость_Евгений
Вам нужно почитать про такую штуку, как "нормальные формы":
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%80%D0%BC%D0%B0
В данном случае, при проектировании БД была нарушена первая нормальная форма. На вики немного мудрено написано, можно поискать попроще и с примерами: http://i-novice.net/6-normalnyx-form-bd/
Вам нужно почитать про такую штуку, как "нормальные формы":
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%80%D0%BC%D0%B0
В данном случае, при проектировании БД была нарушена первая нормальная форма. На вики немного мудрено написано, можно поискать попроще и с примерами: http://i-novice.net/6-normalnyx-form-bd/
Спустя 1 минута, 35 секунд (29.01.2012 - 19:41) Игорь_Vasinsky написал(а):
читать можно долго. со временем и с понятными советами он скоро сам к этому придёт.
Иногда наоборот необходимо денормализовать структуру БД
Иногда наоборот необходимо денормализовать структуру БД
Спустя 1 минута, 4 секунды (29.01.2012 - 19:42) Гость_Евгений написал(а):
Many thanks, товарищи, понял
Спустя 1 минута, 27 секунд (29.01.2012 - 19:44) Игорь_Vasinsky написал(а):
ну т.е. я не имел ввиду что читать вообще не надо просто именно эта тема там (на вики - намудрена)
Спустя 3 минуты, 20 секунд (29.01.2012 - 19:47) Гость_Евгений написал(а):
Ок )))
Кстати насчет денормализации, я почему в принципе задал этот вопрос, просто у меня есть одна таблица, где мне именно так и удобно делать (хранить через запятую, а потом доставать массивом и выводить). А тут вот получилось что не тот вариант, больно хлопотно
Кстати насчет денормализации, я почему в принципе задал этот вопрос, просто у меня есть одна таблица, где мне именно так и удобно делать (хранить через запятую, а потом доставать массивом и выводить). А тут вот получилось что не тот вариант, больно хлопотно
Спустя 16 минут, 51 секунда (29.01.2012 - 20:04) Rand написал(а):
Денормализацию обычно для быстродействия делают, например создают поле num_posts в таблице users и хранят там количество сообщений пользователя, чтобы не бегать каждый раз по огромной таблице posts в несколько миллионов записей, считая функцией COUNT количество постов этого пользователя. Здесь не твой случай.