Mark page number currently accessed (PHP pagination) [duplicate]

0

I made a pagination for my page, however, I do not know how I can make the current page number to be highlighted and darkened. Could you help me?

Here is my code:

<?php
//PAGINAÇAO
if ($registros_ > 3) {
//Verificar a pagina anterior e posterior


    $max_links = 6;

    $links_laterais = ceil($max_links / 2);

    $pagina_anterior = $pagina - $links_laterais;
    $pagina_posterior = $pagina + $links_laterais;

    print "<div class='container'>
<div>
                <ul class='pagination'>
                    <li>";
    if ($pagina_anterior > 0) {
        print "<a href='pesquisas.php?pagina=$pagina_anterior&tipo=$tipo&seletor=$seletor&filtro=$filtro' aria-label='Previous'>
                                <span aria-hidden='true'>&laquo;</span>
                            </a>";
    } else {
        print "<span aria-hidden='true'>&laquo;</span>";
    }
    print "</li>";
//Apresentar a paginacao

    for ($i = $pagina_anterior; $i < $pagina_posterior; $i++) {
        if (($i >=1) && ($i <= $num_pagina)){ 
        print"<li><a href='pesquisas.php?pagina=$i&tipo=$tipo&seletor=$seletor&filtro=$filtro'>$i</a></li>";
    }
    }

    print "<li>";
    if ($pagina_posterior <= $num_pagina) {
        print " <a href='pesquisas.php?pagina=$pagina_posterior&tipo=$tipo&seletor=$seletor&filtro=$filtro' aria-label='Previous'>
            <span aria-hidden='true''>&raquo;</span>
        </a>";
    } else {
        print "<span aria-hidden='true'>&raquo;</span>";
        }
    print "</div></div>";
}
//FIM PAGINAÇAO
?>

I was able to resolve it as follows:

<?php
//PAGINAÇAO
if ($registros_ > 3) {
//Verificar a pagina anterior e posterior


    $max_links = 6;

    $links_laterais = ceil($max_links / 2);

    $pagina_anterior = $pagina - $links_laterais;
    $pagina_posterior = $pagina + $links_laterais;

    print "<div class='container'>
<div>
                <ul class='pagination'>
                    <li>";
    if ($pagina_anterior > 0) {
        print "<a href='pesquisas.php?pagina=$pagina_anterior&tipo=$tipo&seletor=$seletor&filtro=$filtro' aria-label='Previous'>
                                <span aria-hidden='true'>&laquo;</span>
                            </a>";
    } else {
        print "<span aria-hidden='true'>&laquo;</span>";
    }
    print "</li>";
//Apresentar a paginacao

//Criei essa variavel com o código CSS
$numativo = "style='background-color: #4682B4; color: white;'";
//Criei essa variavel com o código CSS

    for ($i = $pagina_anterior; $i < $pagina_posterior; $i++) {
        if (($i >=1) && ($i <= $num_pagina)){ 
        //INCLUINDO ESSE TRECHO
        $ativo = ($i == $pagina) ? $numativo : '';
        //INCLUINDO ESSE TRECHO
        print"<li><a href='pesquisas.php?pagina=$i&tipo=$tipo&seletor=$seletor&filtro=$filtro'
<!--Adicionei a variavel aqui para saber qual a numeração está ativa no momento-->
        $ativo
<!--Adicionei a variavel aqui para saber qual a numeração está ativa no momento-->
        >$i</a></li>";
    }
    }

    print "<li>";
    if ($pagina_posterior <= $num_pagina) {
        print " <a href='pesquisas.php?pagina=$pagina_posterior&tipo=$tipo&seletor=$seletor&filtro=$filtro' aria-label='Previous'>
            <span aria-hidden='true''>&raquo;</span>
        </a>";
    } else {
        print "<span aria-hidden='true'>&raquo;</span>";
        }
    print "</div></div>";
}
//FIM PAGINAÇAO
?>
    
asked by anonymous 03.06.2018 / 02:14

1 answer

3

Just compare to the current page:

if (($i >=1) && ($i <= $num_pagina)){
   if ($i == $pagina) {
      // se é a atual, nem do link precisa (conforme o caso)
      print"<li><strong>$i</strong></li>";
   } else {
      // se é diferente da atual, usa link e estiliza diferentemente
      print"<li><a href='pesquisas.php?pagina=$i&tipo=$tipo&seletor=$seletor&filtro=$filtro'>$i</a></li>";
   }
}

Of course you can simplify, the important thing is the comparison of $i with $pagina :

if (($i >=1) && ($i <= $num_pagina)){
   print "<li".($i==$pagina?' class="destacado"':'')."><a href='pesquisas.php?pagina=$i&tipo=$tipo&seletor=$seletor&filtro=$filtro'>$i</a></li>";
}
    
03.06.2018 / 02:50