hola,hice el siguiente código para un paginador de resultados que tengo en mi web,lo que yo he hecho es ponerle los típicos botones de siguiente y anterior:
<?php
$totalPag = ceil($total/$limit);
$links = array();
$pagina = $HTTP_GET_VARS["pag"];
$sig = $pagina + 1;
$ant = $pagina - 1;
$siguiente = "- <a href='index2.php?pag=$sig'>Siguiente >></a>";
$anterior = " <a href='index2.php?pag=$ant'><< Anterior</a> -";
if ($pagina > 1) {
echo $anterior;
}else {
}
for( $i=1; $i<=$totalPag ; $i++)
{
$links[] = "<a href=\"index.php?pag=$i\">[$i]</a>";
}
echo implode(" - ", $links);
if ($pagina >= $totalPag) {
} else {
echo $siguiente;
}
?>
me funciona bien el código,el único problema es que cuando la página tiene ésta dirección:
http://www.miweb.com/index.php
no me obtiene el $pagina = $HTTP_GET_VARS["pag"];
y entonces el botón de siguiente por defecto me lleva a
http://www.miweb.com/index.php?pag=1
pero el caso es que index.php?pag=1 muestra los mismos resultados que index.php, lo que necesito es que si no encuentra index.php?pag=X en el botón de siguiente lleve directamente a index.php?pag=2, para esto hice lo siguiente:
if (!empty($pagina)) {
echo "- <a href='index2.php?pag=2'>Siguiente >></a>";
} else {
echo $siguiente;
}
}
pero me devuelve siempre el $siguiente a pesar que la url es index.php o index.php?pag=
¿Alguien me puede ayudar? Gracias
El problema esta en el if(!empty($pagina)), la condición se cumple si la variable $pagina contiene algún valor. Resumido:
si la pagina contiene index.php?pag=X, se cumple la condición y se ejecuta el echo. Si contiene index.php, no se cumple la condición y pasa al else para luego ejecutar $siguiente.
Con esto bastaría:
<?php
if(empty($pagina)){
echo "- <a href='index2.php?pag=2'>Siguiente >></a>";
}else{
echo $siguiente;
}
?>
¿Y entonces cómo hago para que si está en index.php el botón de siguiente vaya directamente a index.php?pag=2?
un saludo!
Trata de ejecutarlo primero.
<?php
/*La variable $pagina contiene el valor del parametro $_GET['var']
Si no se le pasa el parametro 'var', la variable $pagina estaria
vacia (index.php) y el boton siguiente iria a index.php?pag=2
*/
if(empty($pagina)){
echo "- <a href='index.php?pag=2'>Siguiente >></a>";
}else{
echo $siguiente;
}
?>
Ya lo conseguí, gracias YOYA ;-)
solo para agregar... deberias usar $_GET en vez de $_HTTP_GET_VARS que es antiguo (y obsoleto, dejara de existir pronto)