Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/02/2013, 10:48
Avatar de futusystem
futusystem
 
Fecha de Ingreso: febrero-2013
Ubicación: barcelona
Mensajes: 57
Antigüedad: 11 años, 3 meses
Puntos: 0
Información Respuesta: Paginacion en MySql y PHP

Cita:
Iniciado por colote Ver Mensaje
Hola, proba este que estoy usando yo, y funciona bien.
Espero te sirva.

Saludos, Ricardo !!!

Código PHP:
<?php

//conecto con la base de datos
include('conexion.php');

//Limito la busqueda
$TAMANO_PAGINA 15;

//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
$rs mysql_query("select * from mano_obra_directa"$conexion);
$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
$rs mysql_query("select * from mano_obra_directa order by codigo " $criterio " limit " $inicio "," $TAMANO_PAGINA);


if (
mysql_num_rows($rs))

  echo 
"<table border = '1'> \n"
  echo 
"<tr><td>CODIGO</td>
            <td>NOMBRE</td>
            <td>UNIDAD</td>
            <td>COSTO $</td> 
            <td>COSTO USD</td></tr> \n"

}

while (
$fila mysql_fetch_array($rs))
{
         echo 
"<tr><td>".$fila['codigo']."</td>";
         echo 
"<td>".$fila['nombre']."</td>";
         echo 
"<td>".$fila['unidad']."</td>";
         echo 
"<td>".$fila['costo_mod_pesos']."</td>";
         echo 
"<td>".$fila['costo_mod_dolar']."</td></tr><br>" ;
 }

//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='listado_mod.php?pagina=" .$i"&criterio=" $txt_criterio "'>" $i "</a> ";
    }
}


//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conexion); 


?>

hola aplique este script php para hacer una paginacion de mi web pero me da unos errores:

* el primero es que cuando es el primer registro que carga me dice que hay un error Notice: Undefined index: pagina in C:\wamp\www\pagina\inicio.php on line 5 en la linea 5 esta este código $pagina =$_GET["pagina"]; una vez voy a la pagina 2, 3 , 4 etc. ese error desaparece.

*el segundo error lo tengo en esta consulta $rs=mysql_query("SELECT * FROM entradas order by fecha DESC" . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA); me da este error Notice: Undefined variable: criterio in C:\wamp\www\pagina\inicio.php on line 24

* y el tercer error lo tengo en la paginacion como tal me lanza el siguiente error Notice: Undefined variable: txt_criterio in C:\wamp\www\pagina\inicio.php on line 59

en la linea 59 tengo esta parte del codigo echo "<a href='index.php?pagina=".$i."&criterio=".$txt_crit erio ."'>" . $i . "</a> ";

si alguien ya a pasado por esto y sabe como solucionarlo le agradecería su ayuda