2010-02-12 7 views
2

La seule façon que je peux voir pour obtenir un enregistrement total compte nécessaire pour la mise en place une sorte de mécanisme de pagination serait quelque chose comme:API FileMaker 9 & PHP - Nombre total d'enregistrements?

$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 

Y at-il quelque chose que je suis absent, ou est-ce la seule solution?

+0

Qu'essayez-vous de compter? Enregistrements dans une table ou un ensemble trouvé? – Ted

+0

Probablement l'ensemble trouvé. J'ai fini par aller avec la solution originale, mais curieux de savoir s'il y a une meilleure façon de parcourir l'ensemble pour obtenir le nombre total. – David

Répondre

3

Un mineur mais important changement:

si vous définissez

$fc->setRange(0,0); 

pour obtenir le RecordCount, vous don est en fait de définir une plage et parcourons l'ensemble. Si vous utilisez

à la place, vous ne lisez qu'un enregistrement. Ensuite, utilisez

$result1->getTableRecordCount(); 

pour obtenir le nombre d'enregistrements dans le tableau unterlaying ou

$result1->getFoundSetCount(); 

pour le compte des enregistrements filtrés.

+0

Ce n'est pas exactement une réponse, mais cela améliore le nombre de lignes, en réécrivant le vôtre comme réponse correcte. – David