Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 2552 Просмотров
*

WolfHunter

  • Захожу иногда
  • 50
  • 1 / 0
Уважаемые!
имеется вбулетин в котором модулем выводятся последние объявления(adsmanager). Хотелось бы и количество комментариев присобачить
в мануале предлагается это
Код
 global $mainframe;
  $comments = $mainframe->getCfg('absolute_path'). '/components/com_jcomments/jcomments.php';
  if (file_exists($comments)) {
    require_once($comments);
    $count = JComments::getCommentsCount($id, 'com_mycomp');
    echo $count ? ('Комментарии ('. $count . ')') : 'Добавить комментарий';
  }
но без джумловского ядра работать не будет, а надо.
заранее спасибо!
*

WolfHunter

  • Захожу иногда
  • 50
  • 1 / 0
можно сделать запросом(подсмотрел в jcomments.php)
Код
$object_id = "33";
$object_group = "com_adsmanager";
$filter = "";

$object_id = (int) $object_id;
$object_group = trim($object_group);

$result = $vbulletin->db->query_read("SELECT count(*) "
."\nFROM ros_jcomments "
."\nWHERE object_id = ".$object_id
."\nAND object_group = '".$object_group."'"
."\n".$filter)
;
while ($comment = $db->fetch_row($result))
{
$count = $comment[0];
}

вход: $object_id - id объявы; $filter - вообще без понятия что это
выход: $count - число комментов у этой объявы

в булке пашет на ура, но у меня выводится три последних объявления. Не хочу три запроса делать. подскажите, как одним замутить?  !  >:( или может вообще по-другому
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
в булке пашет на ура, но у меня выводится три последних объявления. Не хочу три запроса делать. подскажите, как одним замутить?  !  >:( или может вообще по-другому
объединяйте запрос на выборку объявлений, с запросом на получение количества комментариев, и группируйте результат по полям первой выборки...
*

WolfHunter

  • Захожу иногда
  • 50
  • 1 / 0
Цитировать
объединяйте запрос на выборку объявлений, с запросом на получение количества комментариев, и группируйте результат по полям первой выборки...
с mysql я не дружу. может поможете составить запрос?
*

WolfHunter

  • Захожу иногда
  • 50
  • 1 / 0
хы-хы, у меня получился вот такой монстр, где:
$id[0-2] ид объяв на входе
$count1 - $count3 кол комментов на выходе
Код
		$result = $vbulletin->db->query_read("SELECT count(*) "
."\nFROM ros_jcomments "
."\nWHERE object_id = ".$id[0]
."\nAND object_group = 'com_adsmanager'")
;
while ($comment = $db->fetch_row($result))
{
$count1 = $comment[0];
}

$result = $vbulletin->db->query_read("SELECT count(*) "
."\nFROM ros_jcomments "
."\nWHERE object_id = ".$id[1]
."\nAND object_group = 'com_adsmanager'")
;
while ($comment = $db->fetch_row($result))
{
$count2 = $comment[0];
}

$result = $vbulletin->db->query_read("SELECT count(*) "
."\nFROM ros_jcomments "
."\nWHERE object_id = ".$id[2]
."\nAND object_group = 'com_adsmanager'")
;
while ($comment = $db->fetch_row($result))
{
$count3 = $comment[0];
}
как бы теперь это уменьшить  :o
« Последнее редактирование: 31.03.2010, 16:38:59 от WolfHunter »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться