首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在与分页实现作斗争

正在与分页实现作斗争
EN

Stack Overflow用户
提问于 2011-12-19 00:55:05
回答 1查看 115关注 0票数 0

我已经部分开发了我的分页实现,但我有一个问题。

我希望分页看起来像这样:

代码语言:javascript
复制
Page 3 | Page 4 | Page 5

分页中的中间链接是当前选定的页面。如果页面为0,则当前选择的页面是第一个链接。如果页面不是0,则当前选择的页面是第二个链接。如果页面是最后一页,则当前选择的页面是第三个链接。

到目前为止,我的实现突出显示了当前页面,但没有使当前页面成为中心链接。此外,当它到达最后一页时,它会向分页中添加两个不存在的额外页面。

代码语言:javascript
复制
<?php for($i=0; $i <= $pages && $i < 3; $i++) : ?>
    <li <?php echo ($page == $i + $page) ? 'class="current-page"' : '' ?>><a href="category.php?category=<?php echo $category->category ?>&page=<?php echo $page + $i ?>"><?php echo $page + $i ?></a></li>
<?php endfor; ?>

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-12-19 02:16:11

据我所知,这给出了正确的输出。

代码语言:javascript
复制
<?php
$page = 3;
$pages = 5;
$category = 'abc';
?>

<?php for ($i = 0; $i <= $pages && $i < 3; $i++) : ?>
<li<?php echo ($i == 1) ? ' class="current-page"' : '' ?>>
    <a href="category.php?category=<?php echo $category ?>&page=<?php echo $page + $i ?>"><?php echo $page + $i ?></a>
</li>
<?php endfor; ?>

输出结果将是...

代码语言:javascript
复制
<li>
    <a href="category.php?category=abc&page=3">3</a>
</li>
<li class="current-page">
    <a href="category.php?category=abc&page=4">4</a>
</li>
<li>
    <a href="category.php?category=abc&page=5">5</a>
</li>

为了测试,我将$category->category简化为$category。请确保在您的代码中将其改回。

使用($i == 1)而不是($page == $i + $page)的原因是在数据集0, 1, 2 ($1的值)中,1是中心。如果这是一个简化的版本,你将不得不做更多的数学运算,例如,number of items / 2 rounded down应该给出中心。

希望这能有所帮助。如果没有,请添加更多信息,我将更新我的答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8553243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档