首先需要获取记录总数,可以使用COUNT()函数;然后根据每页显示的记录数和当前页码计算出需要跳过的记录数,再使用TOP关键字和跳过的记录数来获取当前页的记录。

以下是基于query()+access分页的完整代码:

//连接数据库
$db = new PDO('odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\path\to\database.mdb');

//每页显示的记录数
$limit = 10;

//当前页码
$page = isset($_GET['page']) ? $_GET['page'] : 1;

//计算需要跳过的记录数
$offset = ($page - 1) * $limit;

//获取记录总数
$result = $db->query("SELECT COUNT(*) FROM table_name");
$total = $result->fetchColumn();

//计算总页数
$pages = ceil($total / $limit);

//获取当前页的记录
$sql = "SELECT TOP $limit * FROM table_name WHERE id NOT IN (SELECT TOP $offset id FROM table_name)";
$result = $db->query($sql);

//输出记录
foreach ($result as $row) {
    echo $row['id'] . ' ' . $row['name'] . "<br/>";
}

//输出分页链接
if ($pages > 1) {
    echo '<div>';
    for ($i = 1; $i <= $pages; $i++) {
        if ($i == $page) {
            echo "<span>$i</span>";
        } else {
            echo "<a href=\"?page=$i\">$i</a>";
        }
    }
    echo '</div>';
}
用php写一段基于query+access分页的完整的代码。注意access数据库不支持LIMIT

原文地址: https://www.cveoy.top/t/topic/Nhb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录