Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите со структурой таблицы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: не пойму как лучше сделать
leshiy_SV
Отправлено: 24 Марта, 2010 - 14:33:02
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Всем доброго дня. Подскажите. Немного не пойму как лучше организовать структуру таблицы. Таблица будет содержать разные записи, который потом при этом будут разбивать на категории, т.е. какое то поле будет содержать номер категории. так вот в чем загвоздка, не пойму как лучше организовать это с учетом того, что запись может относиться сразу к нескольких категориям. первое что пришло в голову это заносить в поле Categories номера категорий через запятую. только вот как потом их оттуда вытаскивать именно по нужной категории

| ID | Name | Categories | Description |
-------------------------------- --------------
 
 Top
AdMeen
Отправлено: 24 Марта, 2010 - 15:29:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Если одна таблица, то id|name|cat|descr, как вы и подумали. Выборка
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM tbl_name WHERE cat='cat_name'
  3.  


если "по уму", то 2 таблицы

id | name | descr -таблица ваших записей
id | name -таблица категорий
 
 Top
leshiy_SV
Отправлено: 25 Марта, 2010 - 07:59:40
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




AdMeen пишет:
если "по уму", то 2 таблицы
это я понял, так и сделал. вопрос немного не в этом. А в том, как заносить запись, чтобы она относилась сразу к нескольким категориям?
 
 Top
AdMeen
Отправлено: 25 Марта, 2010 - 08:53:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




leshiy_SV пишет:
AdMeen пишет:
если "по уму", то 2 таблицы
это я понял, так и сделал. вопрос немного не в этом. А в том, как заносить запись, чтобы она относилась сразу к нескольким категориям?


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

Вводите дополнительную таблицу id | id_pos | id_cat. И через неё реализуйте связи.

(Отредактировано автором: 25 Марта, 2010 - 08:54:32)

 
 Top
leshiy_SV
Отправлено: 25 Марта, 2010 - 08:54:13
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




leshiy_SV пишет:
связь многие ко многим
об этом можно по подробнее
 
 Top
AdMeen
Отправлено: 25 Марта, 2010 - 09:05:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




leshiy_SV пишет:
об этом можно по подробнее


вообще, RTFM конечно. Конкретно для вашего случая 3 таблицы:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  RECORD   ADD_TBL    CAT_TBL
  2.  _______   ________    ________
  3.  id1           id               id2
  4.  name       rec_id         name
  5.  descr       cat_id
  6.  

связи следующие id1-rec_id & cat_id-id2

________________

в соответствии с этими связями и производите выборку

(Отредактировано автором: 25 Марта, 2010 - 09:31:01)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB