gpt4 book ai didi

php - 如何在分页中连续获取Mysql rownum

转载 作者:行者123 更新时间:2023-11-29 00:30:23 26 4
gpt4 key购买 nike

基本上,我想通过使用@rownum 显示表中的行数以及数据,它在第一页上工作得很好,但是当我们转到下一页时,我们又从第一行开始。

查询代码:

$sql = "SELECT @rownum:=@rownum+1 as rownum, t.*FROM (SELECT @rownum:=0) r, (select * from tbl) t 
LIMIT $Page_Start , $Per_Page";

分页代码:

$objConnect = mysql_connect("localhost","user","pass") or die("Error Connect to Database");
`enter code here`$objDB = mysql_select_db("WEB");
$strSQL = "SELECT * FROM line ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 2; // Per Page

$Page = mysql_real_escape_string($_GET["Page"]);
if(!$_GET["Page"])
{
$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}

分页用法:

if($Prev_Page)
{
echo "<a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'> Back</a> &nbsp&nbsp;&nbsp; ";
}

if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next</a> ";
}

所以我希望行数逐页不断增加例如第 1 页第 1-5 行和第 2 页应该是 6-10 类似的东西

非常感谢

最佳答案

您需要包装计算以获取子查询中的行号,并将其限制在外部 SELECT 语句中,这样 row_number 就不会中断,例如,

列名和表名可能与您上面的示例不同,但查询的思路是相同的。

SELECT  RowNumber, Student_ID, Student_Name
FROM
(
SELECT @rownum := @rownum + 1 RowNumber,
t.*
FROM student t, (SELECT @rownum := 0) s
ORDER BY t.Student_ID
) subQ
// LIMIT 0, 3

关于php - 如何在分页中连续获取Mysql rownum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16880080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com