Abac250
11.08.2013 - 01:57
Здраствуйте вот допустим у меня есть две таблицы одна темы а другая коментарии к этим темам, так вот в каждой теме есть табла id_admin это тот кто видет данную тему, и вот что мне нужно вывести что-бы при показе всех его общих тем которые он ведет еще показывалось рядом и общее количество комментариев в них..
vagrand
11.08.2013 - 10:20
Напишите несколько триггеров и при обновлении списка коментариев подсчитывайте и сохраняйте в таблице тем актуалньное их количество. В данном случае выбрать их будет самой простой задачей, просто добавите это поле в список полей селекта.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Valick
11.08.2013 - 10:36
Ребят, а вы друг друга понимаете?
_____________
Стимулятор ~yoomoney - 41001303250491
vagrand
11.08.2013 - 10:47
Valick
Если вы что-то понял из топика ТС, чего не понял я, то укажите что конкретно?
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Valick
11.08.2013 - 10:55
vagrand, да у вас опечатки в таких интересных местах, что реально надо напрягаться чтобы понять о чем речь.
как я понял надо сделать распечатку тем автора и общее количество комментариев в этих темах, тут обычная группировка
Abac250, не помешали бы дампы таблиц, с некоторым количеством реальных данных.
_____________
Стимулятор ~yoomoney - 41001303250491
Abac250
11.08.2013 - 11:01
Как я уже писал есть две таблицы темы и комментарии, так вот в каждой теме есть поле id_admin когда администратор заходит в тему то он принимает ее и в это поле записывается его id и мне нужно просто вывести счетчик общих непрочитанных комментариев (это поле read 1 ) во всех темах где стоит его ид вот что нужно....
vagrand
11.08.2013 - 11:02
Valick
Цитата |
vagrand, да у вас опечатки в таких интересных местах, что реально надо напрягаться чтобы понять о чем речь. |
Опечатки всего две, но спасибо, поправил.
Цитата |
как я понял надо сделать распечатку тем автора и общее количество комментариев в этих темах, тут обычная группировка |
Я написал как это сделать правильнее с точки зрения нагрузки. Не надо плодить говнокод, его и так хватает.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Abac250
11.08.2013 - 11:07
Спасибо за помощь, именно так и зделаю
Valick
11.08.2013 - 11:22
vagrand, я имел ввиду опечатки и у вас и у ТС.)
Цитата |
Я написал как это сделать правильнее с точки зрения нагрузки. |
триггеры по вашему не нагружают БД?
упрощается логика кода РНР, снижается траффик между серверами, но нагрузка несколько увеличивается. А принимая во внимание то что триггер отрабатывает каждый раз, а просмотр тем автора - это может и раз в год случиться, то вопрос о нагрузке тем более спорный.
Цитата |
Не надо плодить говнокод, его и так хватает. |
С каких это пор COUNT и GROUP BY - это говнокод?
_____________
Стимулятор ~yoomoney - 41001303250491
vagrand
11.08.2013 - 11:46
Цитата |
триггеры по вашему не нагружают БД? упрощается логика кода РНР, снижается траффик между серверами, но нагрузка несколько увеличивается. А принимая во внимание то что триггер отрабатывает каждый раз, а просмотр тем автора - это может и раз в год случиться, то вопрос о нагрузке тем более спорный. |
Нет, триггеры по моему не нагружают БД. те моле что они выполняются только при изменении списка комментарией, что не очень частая процедура. И если сделать с триггерами, то можно выводить количество коментов и в списке тем по всему сайту не нагружая БД.
Цитата |
С каких это пор COUNT и GROUP BY - это говнокод? |
С тех пор что при любой группировке создается временная таблица и при возможности избежать этого надо этого избегать.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Abac250
11.08.2013 - 11:52
Эдик Кичаев (11:51) :
И все таки если я вас правильно то вы предложили мне заносить количество комментариев в поле и потом это поле выводить?
Если да то а как я потом общее количество их выведу?
Извините может задаю тупые вопросы..
vagrand
11.08.2013 - 11:57
Abac250
Если вам нужно общее количество и количество непрочитанных, тогда надо два поля.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Abac250
11.08.2013 - 12:02
Нет вы опять вижу меня не поняли вот как вы говорите то я записываю в поле например количество комментариев в теме которые не прочитаны , и вот допустим у меня есть 3 таких темы в которых администратор ведет эту тему и там записаны например 3, 7 и 8 так вот как мне получить общее количество с 3 тем а не с одной?
Valick
11.08.2013 - 12:06
Abac250, когда надоест, дайте все таки дампы таблиц
_____________
Стимулятор ~yoomoney - 41001303250491
vagrand
11.08.2013 - 12:23
Abac250
Цитата |
Нет вы опять вижу меня не поняли вот как вы говорите то я записываю в поле например количество комментариев в теме которые не прочитаны , и вот допустим у меня есть 3 таких темы в которых администратор ведет эту тему и там записаны например 3, 7 и 8 так вот как мне получить общее количество с 3 тем а не с одной? |
Ну у вас есть таблица админов, значит создайте там поле для подсчета коментариев по всем его темам.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:
Powered by dgreen