Ir al contenido


Foto

Problemas con "Siguiente"y "Último" en mi Paginación!!!


  • Por favor identifícate para responder
12 respuestas en este tema

#1 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 01:10

Hola gente querida!!!
Les comento: estoy en pleno trabajo final de mi carrera!!Y los wey de mi facultad nunca enseñaron mucho PHP!!Solo frameworks como CAKE o CUMBIA!!!Pero a mi trabajo he decidido hacerlo puramente en PHP!!!Como chiche en él quiero ponerle una paginación!!Pero me he dado conque no me funciona bien!!Le he buscado las mil vueltas pero me salta un error cuando tengo menos registros de los especificados en el LIMIT de mi consulta SQL!!!Me sigue saliendo el "Siguiente" y "Último" como links, aunque no existan más registros!!!Y al darle click me sale "undefined variable impresos"!!!Vengo buscándole la vuelta hace un par de días y no le doy a la tecla justa para solucionarlo!!!!Desde ya a quien pueda tirarme hasta la mínima idea de que puede ser se lo agradecería tanto yo, como los wey de mis compañeros de trabajo final!!!!
A continuación les dejo el código!!!!


<?php
require_once("../conexion/conexion.php");
//***********************************************************************************************************$sql1="select count(*) as cuantos from productores";

$res1=mysql_query($sql1,$conexion);
if ($reg1=mysql_fetch_array($res1))
{
  $total=$reg1["cuantos"];
}
$resto=$total % 5;
$ultimo=$total-$resto;

//***********************************************************************************************************if (isset($_GET["pos"]))
{
  $inicio=$_GET["pos"];
}else
{
  $inicio=0;
}
$sql1="select * from productores order by apellido asc limit $inicio,5";
$res1=mysql_query($sql1,$conexion);
?>

<html>
<head>
<title>Gesti&oacute;n de los Datos de los Productores</title>
<link href="../css/estilos.css" type="text/css" rel="stylesheet">

<script language="javascript" type="text/javascript">
  function eliminar (id)
      {
        if (confirm ("Realmente desea eliminar el registro?"))
            {
              window.location="delete.php?id_productor=" id;
            }
      }
</script>

</head>
<body>
<div id="contenedor">
  <div id="principal">
      <div id="header"></div>
      <div id="botonera"></div>
      <div id="main"><img src="ima/tit_gs_productores.jpg" hspace="20px"></img>
        <div id="tablas">
            <table align="center" width="1110">
              <tr class="encabezado">
                <td valing="top" align="center" width="180">Apellido</td>
                <td valing="top" align="center" width="180">Nombre</td>
                <td valing="top" align="center" width="200">Domicilio</td>
                <td valing="top" align="center" width="200">Localidad</td>
                <td valing="top" align="center" width="100">Tel&eacute;fono</td>
                <td valing="top" align="center" width="100">Tel&eacute;fono 1</td>
                <td valing="top" align="center" width="100">E-Mail</td>
                <td valing="top" align="center" width="25"></td>
                <td valing="top" align="center" width="25"></td>
                           
            <?php
                if (mysql_num_rows($res1)==0)
              {
            ?>
              <tr>
              <td valign="top" align="center" width="500" colspan="9" style="background-color:#f0f0f0">
              No existen registros sobre productores.</td>
              </tr>
            <?php
              }else
              {
              $impresos=0;
              while ($reg1=mysql_fetch_array($res1))
                  {
                    $impresos  ;
            ?>
              <tr class="registros">
                <td valing="top" align="center" width="180"><?php echo $reg1["apellido"];?></td>
                <td valing="top" align="center" width="180"><?php echo $reg1["nombre"];?></td>
                <td valing="top" align="center" width="200"><?php echo $reg1["domicilio"];?></td>
                <td valing="top" align="center" width="200"><?php echo $reg1["localidad"];?></td>
                <td valing="top" align="center" width="100"><?php echo $reg1["telefono"];?></td>
                <td valing="top" align="center" width="100"><?php echo $reg1["telefono1"];?></td>
                <td valing="top" align="center" width="100"><?php echo $reg1["correo"];?></td>
                <td valing="top" align="center" width="25"><a href="modificar.php?id_productor=<?php echo $reg1["id_productor"];?>" title="Modificar"><img src="../ima/edit.jpg" border="0"></td>
                <td valing="top" align="center" width="25"><a href="javascript:void(0)" title="Eliminar" onClick="eliminar('<?php echo $reg1["id_productor"];?>')"><img src="../ima/delete.jpg" border="0"></td>
            <?php
                  } 
              }
            ?>
              <tr>
                  <td valign="top" align="right" colspan="9">
                  <a href="agregar.php" title="Agregar Producto"><img src="../ima/add.jpg" border="0"></td>
              </tr>
              <tr>
                  <td valing="top" align="center" colspan="9">
 
</td>
              </tr>
              <tr>
                  <td valing="top" align="center" colspan="9">
                    <?php
                        if (!$inicio==0)
                        {
                    ?>
                        <a href="gs_productores.php?pos=0" title="Primero">Primero
                    <?php
                        }else
                        {
                    ?>
                        Primero
                    <?php
                        }
                    ?>
                    <!--*************************************-->
                    <?php
                        if ($inicio==0)
                        {
                    ?>
                        Anterior
                    <?php
                        }else
                        {
                    ?>
                    <a href="gs_productores.php?pos=<?php echo $inicio-5;?>" title="Anterior">Anterior
                    <?php
                        }
                    ?>
                    <!--*************************************-->
                    <?php
                        if ($impresos==5)
                        {
                    ?>
                        <a href="gs_productores.php?pos=<?php echo $inicio 5;?>" title="Siguientes">Siguiente
                    <?php
                        }else
                        {
                    ?>
                        Siguientes
                    <?php
                        }
                    ?>
                    <!--*************************************-->
                    <?php
                        if ($inicio==$ultimo)
                        {
                    ?>
                        Ultimo
                    <?php
                        }else
                        {
                    ?>
                        <a href="gs_productores.php?pos=<?php echo $ultimo;?>" title="Ultimo">Ultimo
                    <?php
                        }
                    ?>       
                    </td>
                  </tr>
              </table>
        </div>
      </div>
      <div id="footer"></div>
      <div id="guarda_izq"></div>
  </div>
</div>
</body>
</html>

  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 09 septiembre 2011 - 01:22

Hola Fedevergara creo que tu problema está aquí:


while ($reg1=mysql_fetch_array($res1))
                  {
                    $impresos++  ;


Nótese lo que cambié en negritas....te faltó incrementar la variable $impresos...

Recibe un cordial saludo desde Santiago de Chile...
  • 0

#3 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 01:28

César, maestro!..Realmente tengo la variable incrementada..$impresos++ ;.. La verdad que no sé porque no salieron en el post, Al igual que en el botón "Siguiente" a la variable inicio le sumo mi LIMIT de la siguiente forma: $inicio+5..La verdad no sé porque no sale el +(más) en el post!!..Lamentablemente mi error sigue ocurriendo.
  • 0

#4 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 01:42

Para ser mas claro es así como tengo el botón "Siguiente":


<!--*************************************-->
                    <?php
                        if ($impresos==5)
                        {
                    ?>
                        <a href="gs_productores.php?pos=<?php echo $inicio+5;?>" title="Siguientes">Siguiente
                    <?php
                        }else
                        {
                    ?>
                        Siguientes
                    <?php
                        }
                    ?>

  • 0

#5 squall2501

squall2501

    Advanced Member

  • Miembros
  • PipPipPip
  • 82 mensajes
  • Locationen oa

Escrito 09 septiembre 2011 - 02:22

Maestro podria ser asi quizas??

Deberias validar la variable get asi al principio

[java]

if (isset($_GET["pos"]))
{
$inicio=$_GET["pos"];
}else
{
$inicio=0;
}

[/java]


[java]
  <?php

if ($inicio==5)
{

$anterior=$inicio-5;
?>
                        <a href="?pos=<?php echo $anterior;?>">Anteriores</a>
                        <?php
}else
{
?>
                        <a href="javascript:void(0);">Anteriores</a>
                        <?php
}
?>
                    <?php
if (count($reg1)==5)
{
$proximo=$inicio+5;
?>
                        <a href="?pos=<?php echo $proximo;?>">Siguientes</a>
                        <?php
}else
{
?>
                        <a href="javascript:void(0);">Siguientes</a>
                        <?php
}
?>
                [/java] 
  • 0

#6 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 03:01

Tampoco he podido hacerlo funcionar squall2501!!!!He cambiado los botones por los que tu me has dado y en mi código ya genero la variable $inicio=0; al principio del archivo!!!Y aún así no funciona!!!!!
En este caso ya no me tira el error!!pero no me reconoce los registros siguientes!!!Es como si sólo tuviera 5 que es lo que le corresponde a mi LIMIT!!! Será que el    count ($reg1)==5 no me está funcionando????
La verdad nosé!!!!Es increíble que una paginación me esté haciendo renegar así!!!

:sad:
  • 0

#7 bajo0123

bajo0123

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 09 septiembre 2011 - 03:09

function paginado() {
    global $wp_query, $wp_rewrite;
    $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
    $pagination = array(
        'base' => @add_query_arg('page','%#%'),
        'format' => '',
        'total' => $wp_query->max_num_pages,
        'current' => $current,
        'show_all' => true,
        'type' => 'list',
        'next_text' => '&raquo;',
        'prev_text' => '&laquo;'
        );
    if( $wp_rewrite->using_permalinks() )
        $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
    if( !empty($wp_query->query_vars['s']) )
        $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
    echo paginate_links( $pagination );
}

Y a continuación en nuestra hoja de estilos añadimos el diseño deseado:

ul.page-numbers {
    margin: 20px 0 10px;
    width: 100%;
    padding: 0;
    font-size: 12px;
    line-height: normal;
    clear: both;
    float: left;
    }
    ul.page-numbers li {
        float: left;
        }
ul.page-numbers a,
ul.page-numbers span {
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    background: -webkit-gradient(linear, left top, left bottom, from(#E4E3E3), to(#FFFFFF));
    background: -moz-linear-gradient(top,  #E4E3E3,  #FFFFFF);
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#E4E3E3', endColorstr='#FFFFFF');
    padding: 3px 4px 2px 4px;
    margin: 2px;
    text-decoration: none;
    border: 1px solid #ccc;
    color: #666;
    }
ul.page-numbers a:hover,
ul.page-numbers span.current {
    border: 1px solid #666;
    color: #444;
}

Y por último dentro del php de nuestro tema en que queramos mostrar la paginación insertamos la siguiente línea de código:

<?php paginado(); ?>
hey hermano quiza esto te srive un poco...¡¡
yo trato de hacer una aplicacion web que cuente las visitas de cualquier sitio web y no se como hacerlo..¡¡
DIOS TE BENDIGA HERMANO..¡¡
  • 0

#8 bajo0123

bajo0123

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 09 septiembre 2011 - 03:11

* Luego de almacenar, reutilizamos la variable $resultado, y ahora hacemos una consulta nueva en la BD, esta vez seleccionando los usuarios que existan en la tabla, ordenándolos de manera ascendente según el username con la sentencia ORDER BY y limitando la consulta a que rescate los registros que están entre el valor indicado por $comienzo (rescata desde el valor siguiente), y que desde ahí rescate tantos registros como indicados por la variable $cant_reg, o sea, 10.

Recordemos que la variable $comienzo la vamos moviendo según el número de página donde nos encontremos, por lo tanto la primera vez rescataremos los registros del 1 al 10, luego del 11 al 20, del 21 al 30 y así sucesivamente. */

$resultado = mysql_query(“SELECT username, nombre, correo FROM usuario ORDER BY username LIMIT $comienzo, $cant_reg”);

/* Luego en la variable $total_paginas almacenamos el número total de páginas que se generarán a partir de esta paginación. Este número lo obtenemos a partir de la división entre el número total de registros (almacenado en la variable $total_registros) y la cantidad de registros por página (almacenado en la variable $cant_reg, equivalente a 10). Esta división la redondeamos utilizando ceil. PHP, como muchos lenguajes de programación, tienen funciones para redondear las divisiones que pudieran darnos resultados en números “decimales” o float, computacionalmente hablando. Estas funciones son floor y ceil. Floor redondea hacia abajo (Si el resultado fuese 2,4 redondea a 2) y Ceil hacia arriba (Si el resultado fuese 2,4 redondea a 3). */

$total_paginas = ceil($total_registros / $cant_reg);

/* Ya hemos rescatado los resultados que desplegaremos en la página, así que ahora mediante código HTML creamos una tabla. Este paso es opcional, pueden desplegar los datos de la forma que estimen conveniente. Así que solo tómenlo como referencia. Primero creamos la parte fija de la tabla, que es donde van los títulos de cada campo que mostraremos. */

echo “<table width=’829′ border=’1′ align=’center’ bgcolor=’#006600′>
<tr>
<td bgcolor=’#000000′ width=’129′><div align=’center’>Nombre de Usuario</div></td>
<td bgcolor=’#000000′ width=’124′><div align=’center’>Contraseña</div></td>
<td bgcolor=’#000000′ width=’130′><div align=’center’>Correo</div></td>
<td bgcolor=’#000000′ width=’202′><div align=’center’>Nombre Completo</div></td>
</tr>”;

/* Ahora, hacemos un ciclo de tipo while, y como condición de duración ponemos que es mientras en la variable $row se vaya almacenando una fila de los resultados */
while($row=mysql_fetch_array($resultado))
{

/* Ahora en las variables $username, $password, $nombre y $correo almacenamos los datos que vamos extrayendo de la BD */

$username=$row["username"];
$password=$row["password"];
$nombre=$row["nombre"];
$correo=$row["correo"];

/* Luego, con código HTML y PHP vamos desplegando celdas y mostrando los resultados de esas variables */

echo “<tr>”;
echo “<td width=’129′><div align=’center’>$username</div></td>”;
echo “<td width=’124′><div align=’center’>$password</div></td>”;
echo “<td width=’130′><div align=’center’>$correo</div></td>”;
echo “<td width=’202′><div align=’center’>$nombre</div></td>”;
echo “</tr>”;
}

/* Cerramos la tabla y centramos el parrafo */

echo “</table><center><br>”;

/* El siguiente código es para mostrar, después de desplegar los resultados actuales, vínculos para páginas anteriores, siguientes y mostrar la página actual. Primero, se pregunta si la página actual menos 1 es mayor a cero, esto significa que no es la primera vez que listamos y por ende se despliega el vínculo para volver a páginas anteriores, enviando como parámetro el número de página menos 1 para que se inicialicen las variables más arriba. */

if(($num_pag – 1) > 0)
{
echo “<a href=’lista-usuarios.php?pagina=”.($num_pag-1).”‘>< Anterior</a> “;
}

/* Luego, mediante un ciclo de tipo for que dura mientras la variable i sea menor al número total de páginas, se van listando, con números, todas las páginas disponibles con sus respectivos vínculos. También se desplega la página actual, sin vincular. */

for ($i=1; $i<=$total_paginas; $i++)
{
if ($num_pag == $i)
{
echo “<b><p class=’style1′>Página “.$num_pag.”</b> “;
}
else
{
echo “<a href=’lista-usuarios.php?pagina=$i’>$i</a> “;
}
}

/* Y finalmente, se pregunta mediante un if si el número de la página actual  más 1 es menor o igual al total de páginas. Si es así se presenta un vínculo para la página siguiente, enviando el parámetro correspondiente que se recoje mediante GET */

if(($num_pag + 1)<=$total_paginas)
{
echo ” <a href=’lista-usuarios.php?pagina=”.($num_pag+1).”‘>Siguiente ></a>”;
}
echo “</center>”;



esto tambien..¡¡
  • 0

#9 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 03:20

Estoy dando círculos en mi dormitorio de lo perdido que estoy!!!jajajaja...Para aclarar un poco!!En tu primer respuesta se encuentra la primera opción usando una función js! Y en tu segunda respuesta otra opción totalmente diferente!!
Es así???O es la continuación de tu primer respuesta???Me parece que es la continuación no??

La verdad prefiero arreglar mi código y detectar en que le fallo!!!Pero mientras tanto probaré con lo que me pasaste!!!!

Gracias GENTEEEE!!!!!Esto no me va a vencer!!!!
  • 0

#10 bajo0123

bajo0123

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 09 septiembre 2011 - 03:31

el 2 mensaje es aparte mi hermano..¡¡
pero ud agarrer el que mas le conbiene..¡¡
DIOS LO BENDIGA..¡¡
  • 0

#11 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 09 septiembre 2011 - 03:55

Por lo que me pasó squall2501 he echo esto!!!



php
  1. <?php
  2. require_once("../conexion/conexion.php");
  3. //**********************************************************
  4.  
  5. if (isset($_GET["pos"]))
  6. {
  7.   $inicio=$_GET["pos"];
  8. }else
  9. {
  10.   $inicio=0; 
  11. }
  12.  
  13.  
  14. ?>
  15.  
  16. <html>
  17. <head>
  18. <title>Gesti&oacute;n de los Datos de los Productores</title>
  19. <link href="../css/estilos.css" type="text/css" rel="stylesheet">
  20.  
  21. <script language="javascript" type="text/javascript">
  22. function eliminar (id)
  23. {
  24. if (confirm ("Realmente desea eliminar el registro?"))
  25. {
  26. window.location="delete.php?id_productor=" id;
  27. }
  28. }
  29. </script>
  30.  
  31. </head>
  32. <body>
  33. <div id="contenedor">
  34. <div id="principal">
  35. <div id="header"></div>
  36. <div id="botonera"></div>
  37. <div id="main"><img src="ima/tit_gs_productores.jpg" hspace="20px"></img>
  38. <div id="tablas">
  39. <table align="center" width="1110">
  40. <tr class="encabezado">
  41.   <td valing="top" align="center" width="180">Nombre</td>
  42.   <td valing="top" align="center" width="180">Apellido</td>
  43.   <td valing="top" align="center" width="200">Domicilio</td>
  44.   <td valing="top" align="center" width="200">Localidad</td>
  45.   <td valing="top" align="center" width="100">Tel&eacute;fono</td>
  46.   <td valing="top" align="center" width="100">Tel&eacute;fono 1</td>
  47.   <td valing="top" align="center" width="100">E-Mail</td>
  48.   <td valing="top" align="center" width="25"></td>
  49.   <td valing="top" align="center" width="25"></td>
  50.  
  51.   <?php
  52. $sql="SELECT * FROM productores ORDER BY nombre asc LIMIT 5";
  53. $res= mysql_query ($sql,$conexion);
  54. while ($reg=mysql_fetch_array($res))
  55. {
  56. $reg  ;
  57.   ?>
  58. <tr class="registros">
  59.   <td valing="top" align="center" width="180"><?php echo $reg["nombre"];?></td>
  60.   <td valing="top" align="center" width="180"><?php echo $reg["apellido"];?></td>
  61.   <td valing="top" align="center" width="200"><?php echo $reg["domicilio"];?></td>
  62.   <td valing="top" align="center" width="200"><?php echo $reg["localidad"];?></td>
  63.   <td valing="top" align="center" width="100"><?php echo $reg["telefono"];?></td>
  64.   <td valing="top" align="center" width="100"><?php echo $reg["telefono1"];?></td>
  65.   <td valing="top" align="center" width="100"><?php echo $reg["correo"];?></td>
  66.   <td valing="top" align="center" width="25"><a href="modificar.php?id_productor=<?php echo $reg["id_productor"];?>" title="Modificar"><img src="../ima/edit.jpg" border="0"></a></td>
  67.   <td valing="top" align="center" width="25"><a href="javascript:void(0)" title="Eliminar" onClick="eliminar('<?php echo $reg["id_productor"];?>')"><img src="../ima/delete.jpg" border="0"></a></td>
  68.   <?php
  69.   }
  70.   ?>
  71. <tr>
  72. <td valign="top" align="right" colspan="9">
  73. <a href="agregar.php" title="Agregar Producto"><img src="../ima/add.jpg" border="0"></a></td>
  74. </tr>
  75. <tr>
  76. <td colspan="9" align="center">
  77. <?php
  78.  
  79.               if ($inicio==5)
  80.               {
  81.  
  82.                   $anterior=$inicio-5;
  83.                   ?>
  84.                         <a href="gs_productores1.php?pos=<?php echo $anterior;?>">Anteriores</a>
  85.                         <?php
  86.               }else
  87.               {
  88.                   ?>
  89.                         <a href="javascript:void(0);">Anteriores</a>
  90.                         <?php
  91.               }
  92.               ?>
  93.                     <?php
  94.               if (count($reg)==5)
  95.               {
  96.                   $proximo=$inicio 5;
  97.                   ?>
  98.                         <a href="gs_productores1.php?pos=<?php echo $proximo;?>">Siguientes</a>
  99.                         <?php
  100.               }else
  101.               {
  102.                   ?>
  103.                         <a href="javascript:void(0);">Siguientes</a>
  104.                         <?php
  105.               }
  106.               ?>
  107. </td>
  108. </tr>
  109. </table>
  110. </div>
  111. </div>
  112. <div id="footer"></div>
  113. <div id="guarda_izq"></div>
  114. </div>
  115. </div>
  116. </body>
  117. </html>



Pero el botón "Siguiente" no pasa a los siguientes registros!!!
El tema es que no quiero modificar toda la maquetación que he logrado!!!Es la que quieren por requerimientos para mi trabajo final!!!
  • 0

#12 squall2501

squall2501

    Advanced Member

  • Miembros
  • PipPipPip
  • 82 mensajes
  • Locationen oa

Escrito 09 septiembre 2011 - 10:01

Estimado lo resolvi

Si tienes razon no estaba bien lo que habia hecho

Cree la misma tabla con 57 registros o muy similar

[java]

CREATE TABLE `productores` (
  `ID_PRODUCTOR` int(11) NOT NULL auto_increment,
  `NOMBRE` varchar(50) default NULL,
  `APELLIDO` varchar(50) default NULL,
  `DOMICILIO` varchar(50) default NULL,
  `LOCALIDAD` varchar(50) default NULL,
  `TELEFONO` varchar(50) default NULL,
  `TELEFONO1` varchar(50) default NULL,
  `CORREO` varchar(50) default NULL,
  PRIMARY KEY  (`ID_PRODUCTOR`)
) ENGINE=InnoDB

[/java]


Tenemos 4 variables

- $total con 57 registros el total 
- $ resto con 2  que sobran de la division
- $ultimo con 55
- $ num que es 11

11*5 es 55 pero recuerda que empezamos de 0,es decir, lo va a dividir en 12 paginas con la ultima que me mostrara los 2 últimos registros

Si vas sumando 5 en 5 desde 0  vas a llegar a 55 el ultimo con los 2 del resto

La variable ultimo es la clave ya que si haces el ejercicio de ir a ?pos=55 ,es decir, el valor de la variable ultimo veras que te muestra los últimos registros

Puedes probar cambiando tu limite por 10 obviamente tambien cambiando toda la operacion a 10 y veras que tambien funciona



[java]


<?php
session_start();

abstract class Conec{
   
   
    public static function conectarse(){
       
        $co=mysql_connect("localhost","server","pass");
     
        mysql_select_db("db");
        return $co;
       
       
    }
   
   
   
}


class Trabajo{
   
 
    private $datos=array();

    public function get_productores($inicio)
   
    {
       
        $sql="select * from productores order by apellido asc limit $inicio,5";
        $result=mysql_query($sql,Conec::conectarse());
     
        while($fila=mysql_fetch_assoc($result)){
           
            $this->datos[]=$fila;
           
        }
       
       
        return $this->datos;
   
       
       
       
       
    }
   
   
    public function total_datos(){
       
        $sql="SELECT COUNT(*)  CUANTOS FROM productores";
        $result=mysql_query($sql,Conec::conectarse());
     
        while($fila=mysql_fetch_assoc($result)){
           
            $nom=$fila['CUANTOS'];
           
        }
       
       
        return $nom;
   
       
       
    }
   
   
   
   
}


?>


[/java]


[java]



<?php

require_once('class/class.php');
$tra=new Trabajo;


if(isset($_GET['pos']))
    {
   
    $inicio=$_GET['pos'];
    }

    else{
       
        $inicio=0;
    }


$datos=$tra->get_productores($inicio);

?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
     
        <table>
           
            <tr>
                <td valing="top" align="center" width="180">Apellido</td>
                <td valing="top" align="center" width="180">Nombre</td>
                <td valing="top" align="center" width="200">Domicilio</td>
                <td valing="top" align="center" width="200">Localidad</td>
                <td valing="top" align="center" width="100">Tel&eacute;fono</td>
                <td valing="top" align="center" width="100">Tel&eacute;fono 1</td>
                <td valing="top" align="center" width="100">E-Mail</td>
            </tr>
           
           
            <?php
           
           
            foreach($datos as $valor){
           
            ?>
           
              <tr>
                <td valing="top" align="center" width="180"><?php echo $valor['APELLIDO'];?> </td>
                <td valing="top" align="center" width="180"><?php echo $valor['NOMBRE'];?> </td>
                <td valing="top" align="center" width="200"><?php echo $valor['DOMICILIO'];?> </td>
                <td valing="top" align="center" width="200"><?php echo $valor['LOCALIDAD'];?> </td>
                <td valing="top" align="center" width="100"><?php echo $valor['TELEFONO'];?> </td>
                <td valing="top" align="center" width="100"><?php echo $valor['TELEFONO1'];?> </td>
                <td valing="top" align="center" width="100"><?php echo $valor['CORREO'];?> </td>
            </tr>
           
           
           
            <?php
            }
           
            ?>
           
           
           
        </table>
       
      <?php
     
     
      $total=$tra->total_datos();
     
        $num=$total/5;
        $resto=$total%5;
        $ultimo=$total-$resto;
     
     

                    if($inicio==0)
                    {
                        echo "Anterioes";


                    }
                    else{

                        $anterior=$inicio-5;
                        ?>
                <a href="http://localhost:88/...acion?pos=<?php echo $anterior ;?>" title="Anteriores">Anteriores</a>

                        <?php
                    }
                    ?>

                        &nbsp;  &nbsp;  &nbsp;  &nbsp;
                            <?php

                    if($inicio<$ultimo)
                    {
                        $proximo=$inicio 5;
                        ?>
                    <a href="http://localhost:88/...acion?pos=<?php echo $proximo ;?>" title="Siguientes">Siguientes</a>

          <?php
                    }
                    else{

                        echo "Siguientes";
                    }
                    ?>
       
       
      </body>
</html>


[/java]

Puedes agregar esto para validar si algun pastel coloca un pos mayor a la cantidad de registros o si escribe datos no numericos

[java]

  if($inicio > $ultimo){
                       
                       
                      echo "<script type='text/javascript'>window.location='http://localhost:88/paginacion'</script>";
                       
                    }
       
                   
                    if(!is_numeric($inicio)){
                       
                        echo "<script type='text/javascript'>window.location='http://localhost:88/paginacion'</script>";
                       
                    }


[/java]
  • 0

#13 Fedevergara

Fedevergara

    Advanced Member

  • Miembros
  • PipPipPip
  • 56 mensajes

Escrito 12 septiembre 2011 - 03:31

Ohhhhhhhhhhhhh!!!Mundial!!!Justo estaba probando con la creación de una clase!!!!Y no le podía arreglar unos errores!!!!Pero esto me viene espectacular!!!Ahora a probarlo!!!!!

Miles de Gracias!!!!!!
  • 0




IP.Board spam blocked by CleanTalk.