<?php
/**
* DedeCMS 5.6 分页实现方法 arclist分页使用方法
* 在调用arclist标签的地方,添加以下代码来实现分页功能
*/
// 设置每页显示的条数
$pageSize = 10;
// 获取当前页码,如果没有则默认为第一页
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
// 计算起始位置
$startPos = ($page 1) * $pageSize;
// 获取文章总数
$totalNum = $dsql>Count('enewsarticletype');
// 计算总页数
$totalPage = ceil($totalNum / $pageSize);
// 获取当前页的文章列表
$dsql>SetQuery("SELECT id, title, smalltext, pubdate FROMenewsarticletype
WHERE id > 0 ORDER BY id DESC LIMIT $startPos, $pageSize");
$dsql>Execute('list');
// 分页显示HTML代码
echo '<div class="pagination">';
echo '<span>共 ' . $totalNum . ' 条记录</span>';
echo '<span>共 ' . $totalPage . ' 页</span>';
echo '<a href="?page=1">首页</a>';
echo '<a href="?page=' . ($page > 1 ? $page 1 : 1) . '">' . ($page > 1 ? '上一页' : '上一页(已是最前页)') . '</a>';
for ($i = 1; $i <= $totalPage; $i++) {
if ($i == $page) {
echo '<span class="current">' . $i . '</span>';
} else {
echo '<a href="?page=' . $i . '">' . $i . '</a>';
}
}
echo '<a href="?page=' . ($page < $totalPage ? $page + 1 : $totalPage) . '">' . ($page < $totalPage ? '下一页' : '下一页(已是最后页)') . '</a>';
echo '<a href="?page=' . $totalPage . '">尾页</a>';
echo '</div>';
// 获取当前页的文章列表数据
while ($row = $dsql>GetArray('list')) {
// 输出文章列表的HTML代码
echo '<div class="article">
<h2><a href="/plus/view.php?aid=' . $row['id'] . '">' . $row['title'] . '</a></h2>
<p>' . $row['smalltext'] . '</p>
<span>' . GetDateTimeMk($row['pubdate']) . '</span>
</div>';
}
?>
代码实现了DedeCMS 5.6中arclist
标签的分页功能,代码中首先设置了每页显示的条数$pageSize
,然后获取当前页码$page
,计算起始位置$startPos
,接着获取文章总数$totalNum
和总页数$totalPage
,之后,使用LIMIT语句从数据库中获取当前页的文章列表,并输出分页的HTML代码以及当前页的文章列表。
请确保在DedeCMS的模板文件中正确引入此代码块,并在适当的位置调用arclist
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。