Неправильное отображение списка постов в списке блогов

 
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4380
Собственно хоть здесь посчитайте количество записей которое пишется в списке и количество реально записей.

вот собственно сам запрос
Код PHP:
  1. SELECT u.id, b. * , u.id AS uid, u.nickname AS author, u.login as author_login,
  2. COUNT(p.id) as records,
  3. IFNULL( SUM( r.points ) , 0 ) AS points
  4. FROM cms_users u, cms_blogs b
  5. LEFT JOIN cms_blog_posts p ON p.blog_id = b.id
  6. LEFT JOIN cms_ratings r ON r.item_id = p.id AND r.target = 'blogpost'
  7. WHERE b.user_id = u.id
Есть у кого соображения? Я пришел только к такому исправлению, но это ничего не дало:
COUNT(p.user_id) as records,
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 428
ммм готов был помочь так блин не смог повторить на тестовом сайте такой же результат!
Реклама
cms
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4380
maxisoft, так у тебя все нормально что ли отображается? Тогда я ничего не понимаю...
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Sometime CMS Community
Посетитель
no avatar
Медаль
Сообщений: 428
Да так и есть нормально все аккуратно посчитано!
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4380
а вот и ответ:
надо в запросе вместо COUNT(p.id) ставить COUNT( DISTINCT p.id ) и все правильно отображается.
Или выводить расчет постов в отдельный запрос, ибо очень тяжелый получился. Покумекаю с индексами, если докумекаю/не забуду - отпишусь здесь.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.