无法在使用php刷新时更改活动分页按钮

时间:2017-06-30 11:16:05

标签: javascript php css pagination

我正在尝试更改活动分页按钮,当我点击它但它刷新并保持与刷新后获取数据相同。这是代码:

<?php
    for ($page=1;$page<=$number_of_pages;$page++) {
    ?>
        <li class="page-item"><a class="page-link" href="view_videos.php?page=<?php echo $page;?>"><?php echo $page; ?></a></li>               
    <?php  
    }
?>

我将获得网址:

domain.com/hello.php?page=1
domain.com/hello.php?page=2

当我点击第二个按钮时,网址会更改为domain.com/hello.php?page=2,然后我想将第二个按钮颜色的背景更改为活动状态,但由于页面刷新,它不会变为活动状态。

以下是我导航栏的截图

enter image description here

2 个答案:

答案 0 :(得分:3)

很简单:

像这样获取page_id

$page_id = isset($_GET['page']) ? $_GET['page'] : false;

现在您拥有当前页面的编号

然后在循环中,你可以做另外一个检查:

<li class="page-item<?php echo ($page_id == $page) ? ' my-background' : '' ?>"><a class="page-link" href="view_videos.php?page=<?php echo $page;?>"><?php echo $page; ?></a></li>

然后你可以在.css-file

中执行此操作
.my-background {
    background-color: #FF0000; /* Maybe add "!important" if necessary */
}

答案 1 :(得分:0)

您必须在页面加载后从URL获取页码,并针对每个页面指示符进行检查以查看它是否为活动页面。然后,您可以添加一个类active,并在CSS中设置样式。

所以你可以试试这个:

<?php
    for ($page = 1; $page <= $number_of_pages; $page++) { 
        if ($page === $_GET["page"]) {
            $active = " active";
        } else {
            $active = "";
        }
    ?>
        <li class="page-item">
            <a class="page-link <?= $active ?>" href="view_videos.php?page=<?= $page ?>"><?= $page ?></a>
        </li>
    <?php
    }
?>

注意:<?= $foo ?><?php echo $foo ?> manual

相同