ФорумПрограммированиеPHP для идиотов → Посты и комменты...

Посты и комменты...

  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 23 августа 2010 г. 8:59

    у меня есть две таблицы - посты и комметы… в таблице посты есть значение комменты, то есть сколько их в этом посте…
    подскажите нубу, как лучше/удобнее/практичнее изменять количество комментов? при вызове поста делать пересчет их с помощью GROUP BY (по post_id в таблице комменты), или при записи нового коммента наращивать значение комменты в таблице посты (но если удалю коммент, то количество останется старым), или есть еще более удобный вариант?
    Высокоуровневое абстрактное говно
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:02, спустя 2 минуты 23 секунды

    триггер на таблицу постов - самый удобный вариант имхо :)
    Сапожник без сапог
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 23 августа 2010 г. 9:03, спустя 1 минуту 25 секунд

    триггер на таблицу постов

    а по-русски? я просто хз, что это))
    Высокоуровневое абстрактное говно
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:08, спустя 4 минуты 51 секунду

    а погуглить? делаешь поле в таблице постов - comments_count и вешает тригеры на удаление/добавление в таблице каментов записей, котоыре делают пересчет и обновляют таблицу постов и все. а там уже выводишь просто поле безовсяких групов(они пиздец тормозят обычно)
    Сапожник без сапог
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 23 августа 2010 г. 9:11, спустя 2 минуты 44 секунды

    нашел.. понял что это)) есть пример?)
    Спустя 121 сек.
    тут все примеры предлагаются с условием… мне условия вроде не надо, просто либо +1, либо -1
    Высокоуровневое абстрактное говно
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:19, спустя 8 минут 4 секунды


    delimiter //
    DROP TRIGGER IF EXISTS `comments_counter_insert`//
    DROP TRIGGER IF EXISTS `comments_counter_delete`//
    CREATE TRIGGER `comments_counter_insert` BEFORE INSERT ON `comments` FOR EACH ROW BEGIN
       UPDATE `posts` SET `comments_count` = `comments_count` + 1 WHERE `post_id` = old.`post_id`;
    END//
    CREATE TRIGGER `comments_counter_delete` BEFORE DELETE ON `comments` FOR EACH ROW BEGIN
       UPDATE `posts` SET `comments_count` = `comments_count` - 1 WHERE `post_id` = old.`post_id`;
    END//
    delimiter ;


    что-то типа того, не проверял
    adw/0
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 23 августа 2010 г. 9:21, спустя 2 минуты 39 секунд

    Вот я нуб.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 23 августа 2010 г. 9:25, спустя 3 минуты 20 секунд

    adw0rd, спасибо, щас попробую… только куда это пихать - хз))
    Высокоуровневое абстрактное говно
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:25, спустя 38 секунд

    в mysql-консоль лучше всего
    adw/0
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 23 августа 2010 г. 9:29, спустя 3 минуты 59 секунд

    а как мне это впихнуть в сайт?))
    Спустя 20 сек.
    в какой-то запрос? я вааще нуб в этих делах))
    Высокоуровневое абстрактное говно
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:39, спустя 9 минут 54 секунды

    Это триггер, не надо его каждый раз запихивать…
    Просто выполни его в sql-консоли, ну или в pma попробуй, и он всегда будет срабатываться в соответствии с условиями триггера.
    Это механизмы mysql, в код сайта ничего внедрять не надо вообще!
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:46, спустя 6 минут 56 секунд

    не надо вообще!!!!!!!!!!!!!

    Сапожник без сапог
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:49, спустя 2 минуты 59 секунд


    не надо вообще блять!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111

    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 9:50, спустя 35 секунд

    ну вы вообще!!!
    adw/0
  • Sinkler

    Сообщения: 8083 Репутация: N Группа: в ухо

    Spritz 23 августа 2010 г. 10:13, спустя 23 минуты 38 секунд


    ну вы вообще блять!!!!!!!!!!!!!!!!!!!!!!!!!!111
    )))))

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