За последние 24 часа нас посетили 62154 программиста и 1681 робот. Сейчас ищут 1298 программистов ...

как лучше организовать хранение комментариев на сайте?

Тема в разделе "PHP для новичков", создана пользователем bkm, 5 янв 2010.

  1. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    Здравствуйте.

    Хочу добавить на свой сайт возможность комментировать статьи. Подскажите, как лучше организовать хранение комментов?

    Сложить все в одну таблицу и в нужных статьях выводить нужные комментарии, или создавать таблицу, например, с названием статьи. prefix_pages_1, prefix_pages_2 и т.д.

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

    Спасибо.
     
  2. Devzirom

    Devzirom Активный пользователь

    С нами с:
    15 фев 2009
    Сообщения:
    463
    Симпатии:
    0
    Адрес:
    Пермь
    1 статья = 1 таблица
    10 статей = 10 таблиц
    100 статей = 100 таблиц
    1000 статей = 1000 таблиц
    ...
     
  3. AlleeX

    AlleeX Активный пользователь

    С нами с:
    17 июл 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    РБ
    Держать все в одной таблице , которая содержит колонку с идентификатором статьи (статьи соответственно держать в др таблице), а при просмотре коментов делать выборку по ид статьи
     
  4. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    На этом форуме есть возможность Сообщать мне о получении ответа, как тогда организовать такую возможность?

    Перебираем все комментарии, находим по ид статьи, при добавлении нового коммента опять перебираем все записи по ид, и рассылаем оповещение на емаил для тех кто согласился на оповещение?

    Как это быстро будет работать? А если записей тысячи? Насколько рационально здесь использовать ajax?
     
  5. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Смысл такой:
    [sql]CREATE TABLE IF NOT EXISTS `forum_moderators_users` (
    `forum_id` int(11) default NULL,
    `user_id` int(11) default NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=UTF8;[/sql]
    То-есть:
    [sql]CREATE TABLE IF NOT EXISTS `каменты` (
    `для_чего_id` int(11) default NULL,
    `камент` text default NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=UTF8;[/sql]
    Можно добавить дату и чего-нибудь ещё по вкусу.
     
  6. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    Всем спасибо, сделал в одну таблицу. Все прекрасно работает.