繁体   English   中英

使用SQL Server Limit和Offet的php分页

[英]php pagination using sql server Limit and Offet

我对php分页有问题。 我试图从数据库列表并生成页面。 下面有一部分代码。 如果我是对的,我无法在SQL Server中使用限制和偏移量?

$stmt = $conn->prepare('SELECT * FROM db_name ORDER BY use_by_date LIMIT :limit OFFSET :offset');

$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();


    if ($stmt->rowCount() > 0) {

        $stmt->setFetchMode(PDO::FETCH_ASSOC);
        $iterator = new IteratorIterator($stmt);
        foreach ($iterator as $row) {
            echo '<p>', $row['name'], '</p>';
        }

    }

 else {
        echo '<p>No results could be displayed.</p>';
    }

怎么了?

似乎您忘记了实际获取数据:

$rows = $stmt->fetchAll();
foreach ($rows as $row) { ... }

http://php.net/manual/en/pdostatement.fetchall.php

此外,根据sevnlabs的回答,T-SQL中没有限制。

SQL Server中没有限制。 您可以使用SELECT TOP XY来限制结果。 可以通过最后接收的主键来实现偏移。 下一页的内容类似“ WHERE id> lastReturnedId”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM