Foros del Web » Programando para Internet » PHP »

Cantidad de registros a mostrar en una tabla

Estas en el tema de Cantidad de registros a mostrar en una tabla en el foro de PHP en Foros del Web. Hola de nuevo a tod@s. Tengo una página que funciona bien pero quiero mejorarla y se me a ocurrido añadir la posibilidad de que el ...
  #1 (permalink)  
Antiguo 14/11/2012, 12:47
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 2 meses
Puntos: 7
Cantidad de registros a mostrar en una tabla

Hola de nuevo a tod@s.

Tengo una página que funciona bien pero quiero mejorarla y se me a ocurrido añadir la posibilidad de que el visitante de la misma pueda elegir la cantidad de registros que le aparecen en cada página ya que en la misma utilizo un páginador.

Para ello he colocado el siguiente select que desde una tabla me lee diferentes cantidades de números que corresponderían a la cantidad de registros a visualizar por página.
Ejemplo:
50
100
150
200 etc....
Este es el select que se rellena correctamente:
Código PHP:
Ver original
  1. <form name="Paginas" method="GET" action="coches.php">
  2. <table width="192" height="30" border="0">
  3.   <tr>
  4.   <td align="center" class="Guias2">Chicas por página</td>
  5.   <td align="center">
  6.   <select name="selregistrospagina" id="selregistrospagina" class="Guias2"  onchange="this.form.submit()" >
  7.         <option value="-1" selected>&nbsp;&nbsp;16&nbsp;&nbsp;</option>
  8. <?php
  9.     $tablaregistrospagina = mysql_query("SELECT * FROM registrospagina ORDER BY Paginas ASC");
  10.     while ($registroregistrospagina = mysql_fetch_array($tablaregistrospagina)) {
  11. ?>
  12. <option value="<?php echo $registroregistrospagina['Paginas']; ?>"><?php echo $registroregistrospagina['Paginas']; ?></option>
  13. <?php
  14.     }
  15.     mysql_free_result($tablaregistrospagina);
  16.         ?>
  17.     </select>
  18.     </td>
  19.     </tr>
  20.     </table>
  21.     </form>

la instruccion del paginador para indicarle la cantidad de páginas es muy simple:
Código:
 $records_per_page = 8;
he probado cosas como esta:
Código:
 $records_per_page = $selregistrospagina;
Y me da el siguiente error:

Cita:
Warning: Division by zero in C:\wamp\www\Escorts\Zebra_Pagination\Zebra_Paginat ion.php on line 172
¿Alguien me puede ayudar como solucionarlo?

P.D. Como tengo en la página otros select para seleccionar determinados registros y llaman a la misma página supongo que cada vez que los utilice me pondra la cantidad de registros por pagina a su valor por defecto y me gustaria que siguiera con el valor seleccionado hasta que el visitante quiera volver a cambiarlo, se le ocurre a alguien como hacerlo.


Gracias a tod@s, un saludo
__________________
¿Hay algo mas hermoso que ayudar.?
  #2 (permalink)  
Antiguo 14/11/2012, 12:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Cantidad de registros a mostrar en una tabla

Primero para rellenar ese select no hace falta tanto codigo, para que guardar las opciones en una tabla ponlas directamente.... pero bueno te funciona.

Segundo

Código PHP:
Ver original
  1. $records_per_page = $selregistrospagina;

si, la idea es esta, pero como haces llegar el valor del select a la variable $selregistrospagina ??

1.- Debes mandar el formulario
2.- que lo recibirá "coches.php"
3.- y este debe leer lo que le llega por GET.

No necesitas la variable haz esto directamente

Código PHP:
Ver original
  1. $records_per_page = $_GET["selregistrospagina"];

Si sigue dividiendo por cero es que no llega el valor... pero como lo tienes debería llegar.

El select deberia tener un valor por defecto mayor que 0.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 14/11/2012, 14:42
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Cantidad de registros a mostrar en una tabla

Gracias por tu rapida respuesta quimfv

Te comento por partes, veras al entrar en la página por primera vez me da 2 errores.

El primero:
Cita:
Notice: Undefined index: selregistrospagina in C:\wamp\www\Escorts\coches.php on line 107
para evitar este error he puesto al principio de la página esto:
Código PHP:
Ver original
  1. <?php
  2. $selregistrospagina = isset($_GET["selregistrospagina"])? $_GET["selregistrospagina"]: '';
  3. ?>
y me sigue dando el mismo error anterior

y con respecto al error:
Cita:
Warning: Division by zero in C:\wamp\www\Escorts\Zebra_Pagination\Zebra_Paginat ion.php on line 172
me lo sigue dando al entrar en la página, pero si selecciono una cantidad de registros para ver en dicho select desaparecen los errores y funciona, otra cosa si hay otra manera de hacer esto que quiero hacer, te agradeceria que me lo comentases ya que no se me ocurre de otra forma y como es algo que quiero poner en la página para mejorarla me gustaria que fuese de la mejor manera.

Si tengo que eliminar el sistema del select lo elimino no hay problema.

Un saludo.
__________________
¿Hay algo mas hermoso que ayudar.?
  #4 (permalink)  
Antiguo 14/11/2012, 16:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Cantidad de registros a mostrar en una tabla

if(!isset($_GET["selregistrospagina"])){
$selregistrospagina=8;
}else{
$selregistrospagina=$_GET["selregistrospagina"];}
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 16/11/2012, 03:27
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Cantidad de registros a mostrar en una tabla

Gracias de nuevo quimfv.

Funciona perfecto tal como lo he planteado, pero ahora quiero que me aconsejes, tal como esta cada vez que utilizo la parte de mi página que filtra los registros me vuelve a mostrar por defecto la cantidad de 8 registros osea que si quiero visualizar 24 lo selecciono en el select y visualizo 24 esto es correcto, pero si luego filtro los registros, como me recarga la página vuelven a salir 8 registros.

Lo que necesitaria es que se mantuviera la cantidad seleccionada de registros aunque filtrara los mismos. ¿Como deberia hacerlo?, ¿deberia abandonar esta forma de hacerlo y hacerlo de una forma distinta?.
Como comente al principio del post lo hago con la finalidad de mejorar mi página.

Gracias.
__________________
¿Hay algo mas hermoso que ayudar.?
  #6 (permalink)  
Antiguo 16/11/2012, 08:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Cantidad de registros a mostrar en una tabla

Si trabajas con sesiones crea una variable de sesión y guarda el valor en ella

En index.php
Código PHP:
Ver original
  1. $_SESSION["numpag"]=8;


En coches.php
Código PHP:
Ver original
  1. if(isset($_GET["selregistrospagina"])){
  2. $_SESSION["numpag"]=$_GET["selregistrospagina"];
  3. }
  4. $selregistrospagina=$_SESSION["numpag"];

Otra via seria guardar el valor en una cookie pero no te lo se explicar de memoria.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #7 (permalink)  
Antiguo 16/11/2012, 14:22
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Cantidad de registros a mostrar en una tabla

Estupendo funciona genial muchisimas gracias por todo quimfv.

Un saludo.
__________________
¿Hay algo mas hermoso que ayudar.?

Etiquetas: cantidad, mysql, registro, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:40.