Выборка элементов ИС - последние 5 элементов из каждой группы

#
Выборка элементов ИС - последние 5 элементов из каждой группы
Здравствуйте. Есть ИС со след. структурой:
  - Группа1
    - Подгруппа1
      - (элементы)
    - Подгруппа2
      - (элементы)
    - Подгруппа3
      - (элементы)
  - Группа2
    - (элементы)
  - Группа3
    - (элементы)
  - Группа4
    - (элементы)

Нужно вывести их таким образом:
  - Группа1
    (последние 5 элементов из текущей группы и его подгрупп)
  - Группа2
    (последние 5 элементов из текущей группы и его подгрупп)
  - Группа3
    (последние 5 элементов из текущей группы и его подгрупп)
  - Группа4
    (последние 5 элементов из текущей группы и его подгрупп)

Как это можно реализовать? Поле сортировки элементов - либо date, либо order, это мы еще не решили. Элементов может быть очень много, поэтому я не хотел бы грузить их всех в память (в XML) и отображать средствами XSL последние из них.
Сейчас я временно решил проблему тем, что скопировал типовую динамическую страницу "Информационные Системы" и изменил там следующий кусок:

  // файл hostcmsfiles/lib/lib_N.php, примерно строка 144
  $property['xml_show_group_type'] = 'all';
  /* Отображаем информационную систему */
  $_group = ($GLOBALS['INFSYS_result']['group'] == 0) ? false : $GLOBALS['INFSYS_result']['group'];
  $InformationSystem->ShowInformationSystem($InformationSystem_id, $_group, $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);

В этом временном решении ВСЕ элементы грузятся в память (в XML), а отображатся последние пять элементов средствами XSL. Посоветуйте, как можно загрузить из БД лишь последние пять элементов групп (ВАЖНО: в некоторых группах есть подгруппы).
#
Re: Выборка элементов ИС - последние 5 элементов из каждой группы
Цитата:
в некоторых группах есть подгруппы

Если из-за этого пункта то, что я желал бы осуществить, не реализуемо, то тогда структура будет такая же, но без подгрупп. Просто добавлю дополнительное свойство типа "Список".
#
Re: Выборка элементов ИС - последние 5 элементов из каждой группы
что,никто не знает? пришлось изобретать велосипеды, кстати:

$this_group_subgroups = getISGroups ($InformationSystem_id, $root_group_id, true, true);
$in = implode (',', $this_group_subgroups);
$res = mysql_query ('SELECT * FROM `information_items_table` WHERE information_systems_id=\''.$InformationSystem_id.'\' AND information_items_status=1 AND information_groups_id IN ('.$in.') ORDER BY information_items_date DESC LIMIT 0,'.$GLOBALS['LA']['portfolio_itemcount']);
#
Re: Выборка элементов ИС - последние 5 элементов из каждой группы
Вот еще парочка хитрых моментов:
    ob_start ();
    $result_form = $Forms->GetForm ($form_id, to_str ($GLOBALS['LA']['xsl_forms']), to_str ($GLOBALS['LA']['xsl_email']), $param);
    ob_get_clean ();
    if ($result_form === false)
    {
      $errors[] = 'Прошло слишком мало времени с момента последней отправки Вами формы!';
    } else if ($result_form == -1) {
      $errors[] = 'Заполните все обязательные поля!';
    }
    if (count ($errors) == 0)
      $ok = true;
    echo json_encode (array ('errors' => $errors, 'ok' => $ok));

Делал ajax-обработчик формы Обратите внимание на элегантное решение с применением ob_start/ob_get_clean.
Авторизация