FileMaker 9 и PHP API – общее количество записей?

Единственный способ, которым я вижу, чтобы получить общее количество записей, необходимое для настройки какого-то механизма разбиения на страницы, будет примерно таким:

$fileMakerObj = new FileMaker( /* credentials redacted */ );  
$fc = $FileMakerObj->newFindCommand('someLayout');  

//Get max Record count for someLayout 
$fc->setRange(0,0);  
$result1 = $fc->execute();  
$maxRecords = $result1->getTableTotalCount();  
$fc->clearRange();  

//Window 0-100 of $maxRecords  
$fc->setRange(0,100);  
$page1 = $fc->execute();  
//Repeat as necessary  

Я что-то упускаю или это единственное решение?


person David    schedule 12.02.2010    source источник
comment
Что вы пытаетесь посчитать? Записи в таблице или найденный набор?   -  person Ted    schedule 21.10.2010
comment
Скорее всего найденный набор. В итоге я остановился на оригинальном решении, но мне любопытно, есть ли лучший способ, чем сканирование набора, чтобы получить общее количество.   -  person David    schedule 21.10.2010


Ответы (1)


Одно небольшое, но важное изменение:

если вы установите

$fc->setRange(0,0);

чтобы получить RecordCount, вы на самом деле не устанавливаете диапазон и сканируете набор. Если вы используете

$fc->setRange(0,1);

вместо этого вы читаете только одну запись. Затем используйте

$result1->getTableRecordCount();

чтобы получить количество записей в раскладывающейся таблице или

$result1->getFoundSetCount();

для количества отфильтрованных записей.

person Martin M    schedule 01.10.2012
comment
Не совсем ответ, но он улучшает подсчет строк, повторно помечая ваш ответ как правильный. - person David; 27.04.2013