我有以下分页:
<ul class="pagination">
<li><a href="<?php if ($page_no > 1 ){echo $page_no - 1;} else{echo '#';} ?>">«</a></li>
<?php
$i = 1;
while ($i<=$pages):
echo '<li><a href="'. URL . 'reviews?page=' . $i . '">' . $i . '</a></li>';
$i++;
endwhile;
?>
<li><a href="<?php if ($page_no <= $pages){echo $page_no + 1;} ?>">»</a></li>
</ul>
这工作正常。我现在想在相关<li>
中添加class="active"
。我本以为这会起作用:
$i = 1;
while ($i<=$pages):
$a = $i;
echo '<li ';
if ($a = $_GET['page']){echo 'class="active"';};
echo '><a href="'. URL . 'reviews?page=' . $i . '">' . $i . '</a></li>';
$i++;
endwhile;
其中$_GET[page]
是分页中的相关页码。但是,这会将所有<li>
返回为活动状态。我错过了什么?
只需在$a = $_GET['page']
中添加第二个=
,使其如下所示:
$i = 1;
while ($i<=$pages):
$a = $i;
echo '<li ';
if ($a == $_GET['page']){echo 'class="active"';}
echo '><a href="'. URL . 'reviews?page=' . $i . '">' . $i . '</a></li>';
$i++;
endwhile;
同时删除 if
语句后面的;
。
这将给出您想要的结果
$i = 1;
while ($i<=$pages):
$a = $i;
echo '<li ' . $a == $_GET['page'] ? 'class="active"': '';
echo '><a href="'. URL . 'reviews?page=' . $i . '">' . $i . '</a></li>';
$i++;
endwhile;