我在下面有这个代码,我使用Mysql循环来获取我的数据库的一些行。 $Pages == 1
是我们所在的网页,例如/list.php?page=1但问题是其他部分。如果我们转到第2页$pages2
& $pages3
回显为40& 80但是mysql循环仍然得到数据库41-120的结果,为什么?我只想在输出中输入第40行到第80行,仅此而已。
if($pages == 1)
{
$pages3 = 40;
$pages2 = 0;
echo $pages2;
echo $pages3;
}
else
{
$pages3 = 40 * $pages;
$pages2 = 40 * $pages - 40;
echo $pages2;
echo $pages3;
}
$currentpage = 0;
$sql = "SELECT * FROM cake";
$numRows = mysql_num_rows(mysql_query($sql));
$getquery = mysql_query("$sql ORDER by ID LIMIT $pages2, $pages3");
while($rows=mysql_fetch_assoc($getquery)){
答案 0 :(得分:1)
在LIMIT上,第一个参数是从第一行开始(从0开始),第二个参数是要获取的行数。
所以应该是这样的:
$getquery = mysql_query("$sql ORDER by ID LIMIT $pages2, 40");
答案 1 :(得分:0)
试试这个
else
{
$pages3 = 40;
而不是
else
{
$pages3 = 40 * $pages;
答案 2 :(得分:0)
查看文档https://dev.mysql.com/doc/refman/5.0/en/select.html
LIMIT arg1, arg2
arg1是偏移的 arg2不是。偏移后想要的行
所以如果想要40-80的结果,你必须做
LIMIT 40,40
答案 3 :(得分:0)
使用此
$pages="";
if($pages == 1)
{
$pages3 = 40;
$pages2 = 0;
echo $pages2;
echo $pages3;
}
else
{
$pages3 = 40 * $pages;
$pages2 = (40 * $pages) - 40;
echo $pages2;
echo $pages3;
}
$ pages的值应该是