menu marked according to the page with php

1

Anyone has any idea how I can leave the menu marked as the user page, I made a way here, however and a lot of verification, taking into account that I have several pages, I put it as I did

if(isset($urlE[1]) && $urlE[1] == 'a'){
    echo '
        <li><a href="'.$urlBase.'" style="width:45px;border-radius:2px;">HOME</a></li>
        <li><a href="javascript:void(0)" class="ativo">A</a></li>
        <li><a href="'.$urlBase.'/filtragem/b">B</a></li>
        <li><a href="'.$urlBase.'/c">C</a></li>
        <li><a href="'.$urlBase.'/d">D</a></li>
        <li><a href="'.$urlBase.'/e">E</a></li>
        <li><a href="'.$urlBase.'/f">F</a></li>
        <li><a href="'.$urlBase.'/g">G</a></li>
        <li><a href="'.$urlBase.'/h">H</a></li>
        <li><a href="'.$urlBase.'/i">I</a></li>
        <li><a href="'.$urlBase.'/j">J</a></li>
        <li><a href="'.$urlBase.'/k">K</a></li>
        <li><a href="'.$urlBase.'/l">L</a></li>
        <li><a href="'.$urlBase.'/m">M</a></li>
        <li><a href="'.$urlBase.'/n">N</a></li>
        <li><a href="'.$urlBase.'/o">O</a></li>
        <li><a href="'.$urlBase.'/p">P</a></li>
        <li><a href="'.$urlBase.'/q">Q</a></li>
        <li><a href="'.$urlBase.'/r">R</a></li>
        <li><a href="'.$urlBase.'/s">S</a></li>
        <li><a href="'.$urlBase.'/t">T</a></li>
        <li><a href="'.$urlBase.'/u">U</a></li>
        <li><a href="'.$urlBase.'/v">V</a></li>
        <li><a href="'.$urlBase.'/w">W</a></li>
        <li><a href="'.$urlBase.'/x">X</a></li>
        <li><a href="'.$urlBase.'/y">Y</a></li>
        <li><a href="'.$urlBase.'/z">Z</a></li>
    ';
}elseif(isset($urlE[1]) && $urlE[1] == 'b'){
    echo '
        <li><a href="'.$urlBase.'" style="width:45px;border-radius:2px;">HOME</a></li>
        <li><a href="'.$urlBase.'/filtragem/a">A</a></li>
        <li><a href="javascript:void(0)" class="ativo">B</a></li>
        <li><a href="'.$urlBase.'/filtragem/c">C</a></li>
        <li><a href="'.$urlBase.'/filtragem/d">D</a></li>
        <li><a href="'.$urlBase.'/filtragem/e">E</a></li>
        <li><a href="'.$urlBase.'/filtragem/f">F</a></li>
        <li><a href="'.$urlBase.'/filtragem/g">G</a></li>
        <li><a href="'.$urlBase.'/filtragem/h">H</a></li>
        <li><a href="'.$urlBase.'/filtragem/i">I</a></li>
        <li><a href="'.$urlBase.'/filtragem/j">J</a></li>
        <li><a href="'.$urlBase.'/filtragem/k">K</a></li>
        <li><a href="'.$urlBase.'/filtragem/l">L</a></li>
        <li><a href="'.$urlBase.'/filtragem/m">M</a></li>
        <li><a href="'.$urlBase.'/filtragem/n">N</a></li>
        <li><a href="'.$urlBase.'/filtragem/o">O</a></li>
        <li><a href="'.$urlBase.'/filtragem/p">P</a></li>
        <li><a href="'.$urlBase.'/filtragem/q">Q</a></li>
        <li><a href="'.$urlBase.'/filtragem/r">R</a></li>
        <li><a href="'.$urlBase.'/filtragem/s">S</a></li>
        <li><a href="'.$urlBase.'/filtragem/t">T</a></li>
        <li><a href="'.$urlBase.'/filtragem/u">U</a></li>
        <li><a href="'.$urlBase.'/filtragem/v">V</a></li>
        <li><a href="'.$urlBase.'/filtragem/w">W</a></li>
        <li><a href="'.$urlBase.'/filtragem/x">X</a></li>
        <li><a href="'.$urlBase.'/filtragem/y">Y</a></li>
        <li><a href="'.$urlBase.'/filtragem/z">Z</a></li>
    ';
}

And so on, can you make it cleaner? has to be in php, because the refresh page

    
asked by anonymous 04.08.2018 / 01:36

1 answer

3

Basically this (adjust the variables):

for ($i=0; $i < 26; $i++) {
   $letra=Chr(97+$i);

   if ($urlAtual == $letra) {
      echo "<html do $letra SELECIONADO>";
   } else {
      echo "<html do $letra normal>";
   }
}       

See working at IDEONE .

The function Chr generates a character according to the ASCII table (97 is a );


If you use a list of words instead of letters:

$palavras = ['suspense','acao','terror','educativo-xxx','comedia','documentario'];

foreach ($palavras as $palavra) {
   if ($urlAtual == $palavra) {
      echo "<html do $palavra SELECIONADO>".PHP_EOL;
   } else {
      echo "<html do $palavra>".PHP_EOL;
   }
}  

See working at IDEONE .

    
04.08.2018 / 02:02