Carlos Rocha 4 Posted April 11, 2019 Report Share Posted April 11, 2019 Tenho o método abaixo que faz uma listagem de registros. O problema é que jeito que está, quando tiver por exemplo apenas 1 registro na tabela, o botão anterior vai me levar a uma página 0. Que não existe. Alguém me ajuda a corrigir essa lógica fazendo favor? public function listar( $adminsDao, $phpUtil ) { $administradores = $adminsDao->pesquisaAdmins(); $lista = null; if ( $administradores != null ) { $lista = "<h1 class='hCentralizado'>Listagem de Administradores</h1>"; $lista .= " <ul class=listaTopo id=listaTopo> <li style='width: 40%;'>Nome</li><!-- --><li style='width: 10%;'>Bloquear</li><!-- --><li style='width: 10%;'>Excluir</li> </ul> "; $pagina = isset( $_GET[ "pagina" ] ) ? $_GET[ "pagina" ] : 1; $regTotal = count( $administradores ); $regPagina = 5; $limite = ceil( $regTotal / $regPagina ); $inicio = ( $pagina * $limite ) - $limite; $fim = ( $pagina * $limite ); $limitacao = "LIMIT " . $inicio . "," . $fim; $adminsPag = $adminsDao->pesquisaAdmins( $limitacao ); $contador = 0; foreach ( $adminsPag as $admin ) { $backGround = $contador % 2 == 0 ? "#CCC" : "#GGG"; $linkPagina = isset( $_GET[ "pagina" ] ) ? "&pagina=" . $_GET[ "pagina" ] : ""; $nome = strlen( $admin[ "nome" ] ) >= 20 ? substr( $admin[ "nome" ], 0, 20 ) . "...": $admin[ "nome" ]; $iconeExcluir = "<img src='_imgs/excluir.png' style='width: 40px;'>"; $linkExclui = "<a href='?editarAdministradores&excluir" . $linkPagina . "&idAdmin=" . $admin[ "idAdmin" ] . "'>" . $iconeExcluir . "</a>"; $iconeBloqueio = $admin[ "bloqueado" ] == "Sim" ? "<img src='_imgs/desbloquear.png' height='40px'>" : "<img src='_imgs/bloquear.png' height='40px'>"; $bloqueia = $admin[ "bloqueado" ] == "Sim" ? "Não" : "Sim"; $linkBloqueia = "<a href='?editarAdministradores&bloquear&bloqueia=" . $bloqueia . "" . $linkPagina . "&idAdmin=" . $admin[ "idAdmin" ] . "'>" . $iconeBloqueio . "</a>"; $lista .= " <ul class=listaRegistros style='background-color:" . $backGround . "'> <li style='width: 40%'>" . $nome . "</li><!-- --><li style='width: 10%'>" . $linkBloqueia . "</li><!-- --><li style='width: 10%'>" . $linkExclui . "</li> </ul> "; $contador++; } $pa = $pagina - 1; $pp = $pagina + 1; if ( $pagina == 1 ) { $anterior = "<a href='?editarAdministradores&listar&pagina=" . $limite . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=" . $pp . "'>Próxima</a>"; } if ( $pagina > 1 ) { $anterior = "<a href='?editarAdministradores&listar&pagina=" . $pa . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=" . $pp . "'>Próxima</a>"; } if ( $pagina == $limite ) { $pa = $limite == 1 ? 1 : $pa; $anterior = "<a href='?editarAdministradores&listar&pagina=" . $pa . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=1'>Próxima</a>"; } $lista .= "<div class=hCentralizado style='width: 200px;'>" . $anterior . " // " . $proximo . "</div>"; } return $lista; } Link to post Share on other sites
Carlos Rocha 4 Posted April 11, 2019 Author Report Share Posted April 11, 2019 RESOLVIDO: .... $pa = $pagina - 1; $pp = $pagina + 1; if ( $pagina == 1 ) { $anterior = "<a href='?editarAdministradores&listar&pagina=" . $limite . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=" . $pp . "'>Próxima</a>"; } if ( $pagina > 1 ) { $anterior = "<a href='?editarAdministradores&listar&pagina=" . $pa . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=" . $pp . "'>Próxima</a>"; } if ( $pagina == $limite ) { $pa = $limite == 1 ? 1 : $pa; $anterior = "<a href='?editarAdministradores&listar&pagina=" . $pa . "'>Anterior</a>"; $proximo = "<a href='?editarAdministradores&listar&pagina=1'>Próxima</a>"; } $botoes = "<div class=hCentralizado style='width: 200px;'>" . $anterior . " // " . $proximo . "</div>"; $lista .= $limite == 1 ? "" : $botoes; .... Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now