我想在 PHP 中准备一个包含多个 mysql 表的列表页面。所以这可以是N个表,每个表中的记录可以是任何东西,我想为此实现分页。这是在编写分页逻辑之前对我有用的信息:
define('RECORDS_PER_PAGE_SPLIT', 15);
$htmlTableList = array(
'_split_1' => 25,
'_split_2' => 4,
'_split_3' => 60
);
$currentPage = 1;
if (isset($_REQUEST['page'])) {
$currentPage = $_REQUEST['page'];
}
if ($currentPage == '' || $currentPage == '0') {
$currentPage = 1;
}
$offset = ($currentPage - 1) * RECORDS_PER_PAGE_SPLIT;
我想要一个 PHP 函数(它将包含多表分页的逻辑),它将返回以下数组:
//For page=1 in request:
Array{
0 => "SELECT * FROM _split_1 LIMIT 0, 15"
}
//For page=2 in request:
Array{
0 => "SELECT * FROM _split_1 LIMIT 15, 25",
1 => "SELECT * FROM _split_2 LIMIT 0, 4",
2 => "SELECT * FROM _split_3 LIMIT 0, 1",
}
//For page=3 in request:
Array{
0 => "SELECT * FROM _split_3 LIMIT 1, 16"
}
//For page=4 in request:
Array{
0 => "SELECT * FROM _split_3 LIMIT 16, 31"
}
如果有人已经编写过这种类型的分页逻辑,请提供该功能。注意:这只是示例,但在我的实时应用程序中,每个表中的记录数将以 lacs 为单位。而且桌子的数量也不固定。它可以是 1 到 5 任何东西。
请帮忙。