FileMaker 9 和 FileMaker 9 PHP API - 总记录数?

发布于 2024-08-21 12:51:24 字数 497 浏览 7 评论 0原文

我能看到获得设置某种分页机制所需的总记录数的唯一方法是:

$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  

是否有我遗漏的东西,或者这是唯一的解决方案?

The only way I can see to get a total record count necessary for setting up some sort of pagination mechanism would be something like:

$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  

Is there something I am missing, or is this the only solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回首观望 2024-08-28 12:51:24

一个微小但重要的变化:

如果您设置

$fc->setRange(0,0);

获取 RecordCount,实际上您没有设置范围并扫描整个集合。如果你使用

$fc->setRange(0,1);

相反的方式,你只会读取一条记录。然后用于

$result1->getTableRecordCount();

获取底层表中的记录数或

$result1->getFoundSetCount();

过滤后的记录数。

One minor but important change:

if you set

$fc->setRange(0,0);

to get the RecordCount, you actually don's set a range and scan through the set. If you use

$fc->setRange(0,1);

instead, you only read one record. Then use

$result1->getTableRecordCount();

to get the record count in the unterlaying table or

$result1->getFoundSetCount();

for the count of the filtered records.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文