简体   繁体   English

使用PHP和SQL Server进行分页

[英]Pagination using PHP and SQL Server

I have a following sql query which works fine for paging 我有一个以下的SQL查询,它适用于分页

$tsql = "SELECT * FROM 
            (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
            AS rowID, Status, FirstName, LastName FROM Client)
        AS TEMP
        WHERE (rowID BETWEEN ? AND ? + 1)";

When I add one more condition (Status != -1) in where clause, it doesn't show me the same number of rows on every page. 当我在where子句中添加一个条件(Status!= -1)时,它不会在每个页面上显示相同的行数。

$tsql = "SELECT * FROM 
            (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
            AS rowID, Status, FirstName, LastName FROM Client)
        AS TEMP
        WHERE (rowID BETWEEN ? AND ? + 1) AND (Status != -1)";

Please does anyone knows how to write this query to get same number of rows on each page. 请问是否有人知道如何编写此查询以在每个页面上获得相同数量的行。 Thanks 谢谢

You need to add the condition (Status != -1) in your inner select query.Try this below script, 您需要在内部选择查询中添加条件(Status!= -1)。请尝试以下脚本,

$tsql = "SELECT * FROM 
            (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
                AS rowID, Status, FirstName, LastName FROM Client
            WHERE (Status != -1) )
        AS TEMP
        WHERE (rowID BETWEEN ? AND ? + 1) 
        ORDER BY rowID";

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

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