我想修改下面的脚本,以便没有分页编号,只有上一个和下一个按钮。我希望上一个/下一个链接显示/显示为灰色,具体取决于下一页/上一页是否存在。例如,如果您在第1页上,则不会显示上一个按钮,因为第0页不存在。
我正在使用的脚本从文本文件中获取数据 - 创建动态页面 - 并根据该脚本创建分页:
(在HTML开始之前)
$data=file("brief.txt");
$pages=0;
foreach($data as $temp){
$x=explode("|",$temp);
if($x[0]>0){
$pages=$pages+1;
}
}
if($_GET['p']){
$page=$_GET['p'];
}
if($_GET['i']){
$index=$_GET['i'];
}
if($index == "p"){
$page=$page-1;
}
if($index == "n"){
$page=$page+1;
}
if($page < 1){
$page=1;
}
if($page > $pages){
$page=$pages;
}
$line=$data[$page-1];
$fields=explode("|",$line);
?>
(在正文部分)
<?php
$show=6;
echo "<li><a href='?i=p&p=$page'>« PREV</li></a>";
if($page-($show/2) > 1){
$temp=$page-$show;
echo "<li><a href='?p=$temp'>...</li></a>";
}
if($page-($show/2) >= 1 && $page+($show/2) <= $pages){
$start=$page-($show/2);
$stop=$page+($show/2);
}
if($page-($show/2) < 1){
$start=1;
$stop=$show;
}
if($page+($show/2) > $pages){
$start=$pages-$show;
$stop=$pages;
}
for($i=$start; $i<=$stop; $i++){
if($page==$i){
echo "<li class='active'>$i</li></a>";
}
else{
echo "<li><a href='?p=$i'>$i</li></a>";
}
}
if($page+($show/2) < $pages){
$temp=$page+$show;
echo "<li><a href='?p=$temp'>...</li></a>";
}
echo "<li><a href='?i=n&p=$page'>NEXT »</li></a>";
?>
我只是将下一个和上一个按钮显示出来,只需将脚本更改为:
<?php
echo "<li><a href='?i=p&p=$page'>« PREV</li></a>";
echo "<li><a href='?i=n&p=$page'>NEXT »</li></a>";
?>
但我不知道从哪里去。任何帮助都是极好的! :)
答案 0 :(得分:2)
首先,标签的嵌套是错误的 - &lt; / a&gt;应该在&lt; / li&gt;之前来。其次,代码不是很优雅 - 它可能要短得多。
但要回答有关禁用链接的问题,您可以使用
<?php
if($page == 1) echo "<li>echo « PREV</li>" else echo "<li><a href='?i=p&p=$page'>« PREV</a></li>";
if($page == $pages) echo "<li>echo NEXT »" else echo "<li><a href='?i=n&p=$page'>NEXT »</a></li>";
?>
(您的总页数可以在$页面中找到)。