elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con paginacion PHP/MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con paginacion PHP/MySQL  (Leído 2,687 veces)
camdark

Desconectado Desconectado

Mensajes: 63



Ver Perfil
Problema con paginacion PHP/MySQL
« en: 13 Diciembre 2006, 05:44 am »

Hola amigos,

He creado este sencillo codigo que pagina resultados, pero aun no he podido hacer para que la primera pagina lleve un link de "pagina=1" hasta el momento solo puedo hacerlo asi "pagina=0" y asi sucesivamente con las otras paginas, he buscado otros codigos de paginacion y todos tenemos el mismo problema :(, aca va mi codigo:

Código:
<?php
//conexion mysql
@mysql_connect("localhost", "root", "") or die ("Imposible conectar a la BD.");
@mysql_select_db("paginacion") or die ("Imposible seleccionar la BD.");

//consultas a la base de datos
if (!isset($_GET['pagina'])) {$pagina = 0;} else {$pagina = $_GET['pagina'];}
$cantidad = 5;
$inicial = $pagina * $cantidad;

$q1 = mysql_query("SELECT id,titulo FROM articulos LIMIT $inicial,$cantidad");
$q3 = mysql_query("SELECT id FROM articulos");
$q2 = mysql_num_rows($q3);
$total = ceil($q2/$cantidad);

//imprimimos los registros
while ($var = mysql_fetch_array($q1)) {echo "$var[id] | $var[titulo]<br>";}

//enlaces a las paginas
for ($i = 1; $i <= $total; $i++) {$i2 = $i - 1; if ($i2 == $pagina) {echo "$i";} else {echo "<a href='paginacion.php?pagina=$i2'>$i</a> ";}}
?>

Espero que me puedan ayudar amigos, saludos.

// Nota del moderador: USAR LAS ETIQUETAS DE CÓDIGO!


« Última modificación: 13 Diciembre 2006, 13:35 pm por Ertai » En línea

Rk_PetIT

Desconectado Desconectado

Mensajes: 218


Ver Perfil WWW
Re: Problema con paginacion PHP/MySQL
« Respuesta #1 en: 14 Diciembre 2006, 20:01 pm »

Este es mi codigo espero que te sirva...

Código:
<?php
//Limito la busqueda
$TAMANO_PAGINA = 10;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
    $inicio = 0;
    $pagina=1;
}
else {
    $inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from pais " . $criterio;
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Número de registros encontrados: " . $num_total_registros . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
//construyo la sentencia SQL
$ssql = "select * from pais " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
while ($fila = mysql_fetch_object($rs)){
    echo $fila->nombre_pais . "<br>";
}
//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conn);

//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
    for ($i=1;$i<=$total_paginas;$i++){
       if ($pagina == $i)
          //si muestro el índice de la página actual, no coloco enlace
          echo $pagina . " ";
       else
          //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
          echo "<a href='index.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
    }
}
?>

Ahora.. yo ele eh agregado un pequeño buscador..
te dejo el codigo por cualquier cosa....

Código:
<form action="index.php" method="get"> 
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
<?php
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
    $txt_criterio = $_GET["criterio"];
    $criterio = " where nombre_pais like '%" . $txt_criterio . "%'";
}
?>

Espero que te sirva...

Saludos.... ;)

Código:


En línea

se piensa una cosa y se dice otra...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema de paginación en MYSQL
PHP
johndi9 1 1,965 Último mensaje 12 Abril 2012, 16:00 pm
por johndi9
Paginación de consultas MySQL y PHP con PDO, con formulario de búsqueda
PHP
soldiermxdeath 2 4,636 Último mensaje 10 Agosto 2013, 06:17 am
por soldiermxdeath
Paginación + MySQL
PHP
Keyna 2 1,612 Último mensaje 1 Julio 2014, 02:43 am
por Graphixx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines