自从我在网页上更新了我的分页后,我试图在搜索时添加First
和Last
链接以及搜索时...
结果很长。例如,我正在尝试在下面的示例中实现以下内容。有人可以帮我修复我的代码,以便我可以更新我的网站。感谢
First Previous 1 2 3 4 5 6 7 ... 199 200 Next Last
我目前使用我的代码显示以下内容。
Previous 1 2 3 4 5 6 7 Next
以下是我的分页代码中显示链接的部分。
if ($pages > 1) {
echo '<br /><p>';
$current_page = ($start/$display) + 1;
if ($current_page != 1) {
echo '<a href="index.php?s=' . ($start - $display) . '&p=' . $pages . '">Previous</a> ';
}
for ($i = 1; $i <= $pages; $i++) {
if ($i != $current_page) {
echo '<a href="index.php?s=' . (($display * ($i - 1))) . '&p=' . $pages . '">' . $i . '</a> ';
} else {
echo '<span>' . $i . '</span> ';
}
}
if ($current_page != $pages) {
echo '<a href="index.php?s=' . ($start + $display) . '&p=' . $pages . '">Next</a>';
}
echo '</p>';
}
答案 0 :(得分:1)
为了不重新发明轮子,你可能想看看这个简单的PHP分页类:
http://www.catchmyfame.com/2007/07/28/finally-the-simple-pagination-class/
它可能不适合你开箱即用,但它很容易修改并重新编码比分页更有趣的事情:)
答案 1 :(得分:1)
您需要的唯一教程。 http://www.php-mysql-tutorial.com/wikis/php-tutorial/paging-using-php.aspx
它对我有用。该教程还有第2部分,但您不需要它。它告诉您如何修改现有代码。
答案 2 :(得分:0)
获得总数和回溯:
$result_count = 200; // hypothetical
// run your regular code.....
$end_pages_to_display = 3;
for($i = $result_count; $i <= ($result_count - $end_pages_to_display); $i--)
{
echo "<a href='index.php?page={$i}'>{$i}</a>";
}
我的意思是......这不是代码适用于您的网站,但它是完全相同的逻辑。
答案 3 :(得分:0)
我不确定你的'''和'p'$ _GET变量是什么(盐和胡椒?),所以我只是使用'p',页面。
<?php
$max = '20';
if ($pages > 1) {
echo '<br /><p>';
$current_page = ($start/$display) + 1;
//add this here... first will always be one
echo '<a href="index.php?p=1">First</a>';
if ($current_page != 1) {
echo '<a href="index.php?s=' . ($start - $display) . '&p=' . $pages . '">Previous</a> ';
}
for ($i = 1; $i <= $pages; $i++) {
if ($i != $current_page) {
echo '<a href="index.php?s=' . (($display * ($i - 1))) . '&p=' . $pages . '">' . $i . '</a> ';
} else {
echo '<span>' . $i . '</span> ';
}
// add this here...
if ( $i == $max){
// stop the for() loop
break;
// not so fancy way of displaying last two pages, use other example if you want to get fancy.
echo '<a href="index.php?p=' . ($pages - 1) . '">'.($pages - 1).'</a> ';
echo '<a href="index.php?p=' . ($pages) . '">'.($pages).'</a> ';
}
}
if ($current_page != $pages) {
echo '<a href="index.php?s=' . ($start + $display) . '&p=' . $pages . '">Next</a>';
}
echo '<a href="index.php?p=1">Last</a>';
echo '</p>';
}
?>
答案 4 :(得分:0)
可能有一种更简单的方法:使用预先构建的库......