我是一名业余编码员,他从Joomla / WordPress迁移了我的网站,因为我希望对自己的网站进行更多控制。我有一个相当静态的网站,该网站显示最近的十篇文章,并希望以十个为一组显示沼泽帖子。
尽管我已经进行了很长一段时间的编码工作,但我还是PHP和Bootstrap 4的相对业余爱好者。
因此,我有一个包含三十多篇文章的网站,其中显示了博客文章的前10页(最新的)……这些文章未包含在数据库中,我的PHP代码在“文章”中查找它们所有文章名称为“ article0001”到“ article00xx”等的文件夹(依次)。我可以轻松地创建一系列显示11-20、21-30等文章的页面,但这是IMO的一个非常丑陋的解决方案。
我要制作的页面只有一个,可以显示1到10、11-20等页面,但是只需单击一个按钮就可以了……我创建了以下测试脚本,应该给出一个想法我正在尝试做的事情(对我的代码的业余性质深表歉意):
希望我在下面提供的代码有一定道理,并给出了我想做的事情的想法。从本质上讲(假设要阅读较旧的文章),这意味着:
将范围限制变量降低10 检查变量仍在1到商品总数之间(如有必要,进行调整)。 显示新的文章集。
//
// Set intial variables based on number of articles
//
$i = 0;
do {
$i++;
$filename = "./articles/article" . substr("000$i", strlen ("000$i")-4) . ".php";
} while(file_exists($filename));
$articles = $i - 1;
//
// $articles to max articles
// Set $max = $articles;
// Set $min = $articles - 9;
//
$max = $articles;
$min = $articles - 9;
echo "Display articles from $max down to $min</br>";
$i = $max;
while($i >= $min) {
$filename = "./articles/article" . substr("000$i", strlen ("000$i")-4) . ".php";
echo "$filename </br>";
$i = $i - 1;
}
// If BACK:
// Set $min = $min-10
// Set $max = $min+9
// If FORWARD:
// Set $max = $max+10
// Set $min = $max+9
// If $min < 1:
// Set $min = 1
// If $max < $articles:
// Set $max = $articles
//
?>
<!-- Pagination -->
<ul class="pagination justify-content-center mb-4">
<li class="page-item">
<?php
echo "<a class=\"page-link\" href=\"$prevfile\"> ← Prev </a>";
?>
</li>
<li class="page-item">
<?php
echo "<a class=\"page-link\" href=\"$nextfile\"> Next → </a>";
?>
</li>
</ul>