Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2008, 17:43   #1
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию Как лучше организовать структуру MySQL?

Есть таблица статей с полями:
id (идентификатор), date (дата), text (содержимое), comment (комментарий)

что делать с id, date, text мне понятно
а вот как лучше поступить с comment (комментарии к статье) - хочу спросить у более опытных.

Я думал над вариантом типа того создать для каждой статьи создавать отдельную таблицу с комментариями типа:

id (идентификатор комментария), date (дата комментария), text (текст комментария), show (показывать комментарий или нет)

Имя таблицы делать типа comment_1 для статьи с id=1, comment_2 для статьи с id=2.

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

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

Может у кого-нибудь есть другой вариант?
Romanbl4 вне форума Ответить с цитированием
Старый 23.06.2008, 20:20   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Лично я смысл затеи вообще не уловил... Почему не поступить с комментом так же, как с текстом - хранить в той же строке таблицы? Если в отдельной таблице, то почему не в одной? Один коммент - одна строка...
B_N вне форума Ответить с цитированием
Старый 23.06.2008, 20:28   #3
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

В этой таблице одна строка - одна статья. Комментариев может быть несколько к одной статье. Их необходимо разделить, т.е. нужно неизвестное количество столбцов для комментариев. И к тому же у комментария несколько параметров - автор, дата и собственно текст.
Romanbl4 вне форума Ответить с цитированием
Старый 23.06.2008, 20:32   #4
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Вобщем я уже прикинул структуру. Буду создавать отдельную таблицу с комментами, где они будут вперемешку. Для того чтобы их привязывать к статье сделаю поле article_id, которому присвою id статьи из таблицы статей. Когда нужно будет вывести статью с комментами, буду делать выборку комментов по article_id.

Последний раз редактировалось Romanbl4; 24.06.2008 в 17:10. Причина: чуть уточнил
Romanbl4 вне форума Ответить с цитированием
Старый 24.06.2008, 11:48   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Аналогичный вопрос по структуре....
Есть некая структура дерева(каталога) .... каждой ветке(каталогу) соответствует свой id....
Есть куча товаров ..... которые по полю id_catalog принадлежат той или иной ветке (папке).....
Нада сделать чтобы товар мог принадлежать нескоьким веткам дерева...
скольким - заранее не известно... как это осуществить?
ADSoft вне форума Ответить с цитированием
Старый 24.06.2008, 17:07   #6
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Я бы здесь предложил такой вариант. Завести поле Categories_IDs (тип text). Записывать туда массив из ID веток дерева, например, через запятую: 1,2,3,4,12,13. Считывать из быза всю строку $datastr и пользоваться функциями $dataarr = explode(",",$datastr);
А для записи в поле сделать наоборот: $datastr = join(",",$dataarr)
Romanbl4 вне форума Ответить с цитированием
Старый 24.06.2008, 18:35   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

н самом деле все проще.. красивей и правильней - нужна еще одна таблица связей... товаров и категорий... вот и все
ADSoft вне форума Ответить с цитированием
Старый 26.06.2008, 23:46   #8
nikleb
Форумчанин
 
Регистрация: 04.04.2007
Сообщений: 131
По умолчанию

Тут нужны две таблици

первая: id, date, text
вторая id, ids, comment

тоесть на страницу выводится статья.(
Код:
$sql="SELECT date,text WHERE id='".$id."'";
)

а в конце страници выводятся комментарии (
Код:
$sql="SELECT comment WHERE ids='"$id"'";
)
nikleb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше организовать базу данных типо как в ICQ Руслантус БД в Delphi 3 09.08.2008 23:57
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29
TCategoryButtons создать структуру ? Родион Компоненты Delphi 2 07.05.2008 16:41
Предлагаю модернизировать структуру форумов Aero_cobra О форуме и сайтах клуба 12 12.03.2008 14:26
как под структуру типа MSG выделить строго определенное количество байт? Morskoivolk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 03.04.2007 20:12