Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem

#
Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Здравствуйте!
У меня стоит следующая задача: на странице необходимо выводит 4 последних элемента одной из ИС, имеющихся в структуре сайта.
Решаю задачу следующим способом:
Выбираю все элементы ИС с помощью GetExternalInformationSystemItem.
При данной выборке сортировка элементов происходит совсем не понятно (хотя в ИС настроено по дате). Т.е. после обработки результатов

$InformationSystem = new InformationSystem();

$param_select = array();
$infsys_id = 20;
$information_group_id = 0;
$param_select['information_systems_id'] = $infsys_id;
$param_select['information_groups_id'] = $information_group_id;

$resource = $InformationSystem->GetExternalInformationSystemItem($param_select);

$info_system_items = array();

// Запоминаем результат в массив
while($row = mysql_fetch_assoc($resource))
{
   $info_system_items[] = $row;
}

элементы находятся в неотсортированном состоянии ни по дате, ни по id.
Пришлось написать доп. функцию сортировки по дате полученного массива, отсортировать массив.
И только потом вывести первые его 4 элемента.
Может кто посоветует более рациональное решение?
Или подскажет возможно ли задать парамтры сортировки для выборки элементов ИС с использованием метода GetExternalInformationSystemItem?

Спасибо.
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Для задания сортировки элементов передайте в вызов метода GetExternalInformationSystemItem параметры $param_select['Order'](порядок сортировки) и $param_select['OrderField'](поле сортировки).
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
добавил параметры:

$param_select['Order'] = 'DESC';
$param_select['OrderField'] = 'information_item_date';


Вылетает следующая ошибка:
Ошибка выполнения запроса! - Unknown column 'Order' in 'where clause'
Предупреждение: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource в файле /home/mrkvkr74/public_html/templates/template8/template.htm (строка 182)
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
vmv, предоставьте полный текст данной ошибки вместе с текстом SQL-запроса. Он доступен в логах системы(папка \hostcmsfiles\logs\ на сервере).
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
"17.12.2010 14:52:57","SYSTEM","Ошибка выполнения запроса: Unknown column 'Order' in 'where clause'. Запрос: SELECT * FROM information_items_table  WHERE`information_systems_id` = '20' AND`information_groups_id` = '0' AND`Order` = 'DESC' AND`OrderField` = 'information_item_date'","4","-","http://mrkvk.ru/index.php/","83.174.228.241"
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
vmv, для исправления ошибок вместо:
$param_select['Order'] = 'DESC';
$param_select['OrderField'] = 'information_item_date';
$resource = $InformationSystem->GetExternalInformationSystemItem($param_select);

используйте:
$resource = $InformationSystem->GetExternalInformationSystemItem($param_select, array('Order' => 'DESC', 'OrderField' => 'information_item_date'));
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Использую:
$resource = $InformationSystem->GetExternalInformationSystemItem($param_select, array('Order' => 'DESC', 'OrderField' => 'information_items_date'));

Далее в цикле загоняю результат в массив:
$info_system_items = array();

// Запоминаем результат в массив
while($row = mysql_fetch_assoc($resource))
{
   $info_system_items[] = $row;
}


Далее вывожу сам массив:
die(var_dump($info_system_items));


Итог следующий (сортировки нет, пробовал также с 'ASC':
[0]=>
  array(28) {
   ...
    ["information_items_date"]=>
    string(19) "2010-12-15 09:41:25"
    ["information_items_name"]=>
    string(9) "Фото6"
    ...
  }
[1]=>
  array(28) {
    ...
    ["information_items_date"]=>
    string(19) "2010-12-09 16:38:15"
    ["information_items_name"]=>
    string(9) "Фото1"
    ...
  }
[2]=>
  array(28) {
    ...
    ["information_items_date"]=>
    string(19) "2010-12-09 16:38:15"
    ["information_items_name"]=>
    string(61) "МРКВК получил новое оборудование"
    ...
}
[3]=>
  array(28) {
    ...
    ["information_items_date"]=>
    string(19) "2010-12-09 16:38:15"
    ["information_items_name"]=>
    string(9) "Фото3"
    ...
}
...
[6]=>
  array(28) {
   ...
    ["information_items_date"]=>
    string(19) "2010-12-16 18:45:27"
    ["information_items_name"]=>
    string(71) "Ишимбайский водоканал получил награду"
    ...
  }
}


Не сортирует. Результат всегда один и тот же.
Добавил специально в массив параметров несуществующее поле в таблице бд: $param_select['information_groupsss'] = 'fghfgh';

В логе наблюдается ошибка:
Unknown column 'information_groupsss' in 'where clause'. Запрос: SELECT * FROM information_items_table  WHERE`information_systems_id` = '20' AND`information_groups_id` = '0' AND`information_groupsss` = 'fghfgh'

Как видно сортировка в запросе отсутствует.
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Ваш код проверен локально: информация о сортировке в текст запроса добавляется. Обновите версию системы до последней(5.9.24). Ведь у вас сейчас 5.9.23?
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Да, но до версии 5.9.23 обновил только сегодня и это было единственное обновление в списке обновлений. Проверил сейчас повторно, система пишет "У Вас установлена последняя версия системы."
#
Re: Сортировка при выборке элементов ИС с использованием GetExternalInformationSystemItem
Обновление 5.9.24 является бета-обновлением. Для того, чтобы оно стало вам доступно, вам необходимо создать активную константу INSTALL_BETA_UPDATE со значением true(а после запросить обновления еще раз). Об этом сказано здесь: http://www.hostcms.ru/support/updates/
Авторизация