我想制作一个基本上做三件事的简约分页脚本:
我已经完成了大部分代码,但我只是制作了一些if / elseif语句来确定用户所在的页面并且我遇到了一些麻烦。 (那些在底部)首先,这是查询代码:
$per_page = 10;
$pages_query = mysql_query("SELECT COUNT(idnum) FROM images");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
$page = (isset($_GET['page'])) ? (int)$_GET['page'] :1;
$start = ($page -1) * $per_page;
$query = mysql_query("SELECT * FROM images ORDER BY idnum DESC LIMIT $start, $per_page");
这是if语句部分:
$nextend = $pages - 1;
$next = $page + 1;
$previous = $page - 1;
if ($pages >= 1 && $page = 1) {
echo '<a href="?page='.$next.'">next</a>';
} elseif ($pages >= 1 && $page = 2) {
echo '<a href="?page='.$previous.'">previous</a>';
}
无论我在哪个页面,它总是会产生下一个按钮。如何检测页码,以便按照我想要的方式显示分页按钮?顺便说一句,我知道我还没有中间页面(下一页和上一页)的else语句。
答案 0 :(得分:4)
您在if语句中分配而不是比较。你不想在if语句中使用它:
$page = 1
只是将1
分配给$page
。
你想要这个:
$page == 1
或者这个:
$page === 1
答案 1 :(得分:0)
$nextend = $pages - 1;
$next = $page + 1;
$previous = $page - 1;
$maxpages = ? //You need to have a variable with the last page number
if ($pages > 1) {
echo '<a href="?page='.$previous.'">previous</a>';
}
if ($page < $maxpages) {
echo '<a href="?page='.$next.'">next</a>';
}
我不明白你试图用if / else语句做什么逻辑,当检查变量是否等于数字/其他变量时你的“==”而不是“=”
答案 2 :(得分:0)
你要做的事情很简单:
请注意,这两个条件可以同时发生,因此在它们之间使用elseif将无法正常工作,因为它只允许其中一个执行。
示例:
if ( $page > 1 )
{
echo( "Previous" );
}
if ( $page < $pages )
{
echo( "Next" );
}