Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] duplicar encabezado en tabla por número de registros

Estas en el tema de duplicar encabezado en tabla por número de registros en el foro de PHP en Foros del Web. Hola a tod@s Tengo una consulta la cual me arroja los resultados en una tabla... intento hacer lo siguiente si el numero de registros es ...
  #1 (permalink)  
Antiguo 22/05/2017, 08:36
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
duplicar encabezado en tabla por número de registros

Hola a tod@s
Tengo una consulta la cual me arroja los resultados en una tabla...
intento hacer lo siguiente si el numero de registros es menor a 25 la tabla continue hasta tener los 25 renglones (los faltantes deben quedar en blanco) , si el total de registros es mayor a 25
la tabla se inicie con los encabezados nuevamente y termine en el regitro 50 (si el numero es menor se queden en blanco)...
es posible???

Ejemplo:
-Usuario-----Nombre-----Apellido Paterno-----Apellido Materno-----Email
[email protected]
[email protected]
[email protected]
...
24------------------------------------------------------------------------------
25------------------------------------------------------------------------------


-Usuario-----Nombre-----Apellido Paterno-----Apellido Materno-----Email
[email protected]
[email protected]
[email protected]
...

[email protected]


-Usuario-----Nombre-----Apellido Paterno-----Apellido Materno-----Email
[email protected]
....
50------------------------------------------------------------------------------


$query_docentes = "SELECT * FROM docentes ";



Código PHP:
<table>
  <thead>
    <tr>
      <td>USUARIO</td>
      <td>Nombre</td>
      <td>A. paterno</td>
      <td>A. Materno</td>
      <td>Email</td>


   
    </tr></thead>
  <?php do { ?>
    <tbody>
      <tr>   
     
          <td><?php echo $row_docentes['Clave']; ?></td>
          <td><?php echo $row_docentes['Nombre']; ?></div></td>
          <td><?php echo $row_docentes['ApellidoPaterno']; ?></div></td>
          <td><?php echo $row_docentes['ApellidoMaterno']; ?></div></td>
          <td><?php echo $row_docentes['Email']; ?></div></td>
        
      </tr></tbody>
    <?php } while ($row_docentesmysql_fetch_assoc($docentes)); ?>
</table>
  #2 (permalink)  
Antiguo 22/05/2017, 08:44
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 6 meses
Puntos: 20
Respuesta: duplicar encabezado en tabla por número de registros

Es una posible solución que se me viene a la cabeza:

Dentro del bucle
if ($i%25==0)
escribes tu encabezado

Y para poner lineas en blanco, puedes hacer otro bucle al terminar el tuyo, con lineas en blanco hasta completar hasta 25, 50 ...


Pero hay muchas otras soluciones y más eficientes
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #3 (permalink)  
Antiguo 22/05/2017, 08:48
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Cita:
Iniciado por baldaweb Ver Mensaje
Es una posible solución que se me viene a la cabeza:

Dentro del bucle
if ($i%25==0)
escribes tu encabezado

Y para poner lineas en blanco, puedes hacer otro bucle al terminar el tuyo, con lineas en blanco hasta completar hasta 25, 50 ...


Pero hay muchas otras soluciones y más eficientes
Gracias amigo probaré así
  #4 (permalink)  
Antiguo 22/05/2017, 10:33
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Tengo el total de registros si es mayor a 0 dibujo la tabla, no se me ocurre como volver a dibujar la tabla si es que el total es mayor a 25


Código PHP:
$query_docentes = "SELECT * FROM docentes ";
$docentes = mysql_query($query_docentes, $connection) or die(mysql_error());
$row_docentes = mysql_fetch_assoc($docentes);
$tdocentes= mysql_num_rows($docentes);

<?php if ($tdocentes ) { ?>
<table>
  <thead>
    <tr>
      <td>USUARIO</td>
      <td>Nombre</td>
      <td>A. paterno</td>
      <td>A. Materno</td>
      <td>Email</td>


   
    </tr></thead>
  <?php do { ?>
    <tbody>
      <tr>   
     
          <td><?php echo $row_docentes['Clave']; ?></td>
          <td><?php echo $row_docentes['Nombre']; ?></div></td>
          <td><?php echo $row_docentes['ApellidoPaterno']; ?></div></td>
          <td><?php echo $row_docentes['ApellidoMaterno']; ?></div></td>
          <td><?php echo $row_docentes['Email']; ?></div></td>
        
      </tr></tbody>
    <?php } while ($row_docentesmysql_fetch_assoc($docentes)); ?>
</table>

  <?php // Fin de $tdocentes ?>
  #5 (permalink)  
Antiguo 23/05/2017, 00:38
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 6 meses
Puntos: 20
Respuesta: duplicar encabezado en tabla por número de registros

Código PHP:
Ver original
  1. <?php
  2. $i=0;
  3. do {
  4. $i++;?>
  5.  
  6.       <tr>    
  7.      
  8.           <td><?php echo $row_docentes['Clave']; ?></td>
  9.           <td><?php echo $row_docentes['Nombre']; ?></div></td>
  10.           <td><?php echo $row_docentes['ApellidoPaterno']; ?></div></td>
  11.           <td><?php echo $row_docentes['ApellidoMaterno']; ?></div></td>
  12.           <td><?php echo $row_docentes['Email']; ?></div></td>
  13.          
  14.       </tr>
  15. <?php if ($i%25==0) {?>
  16. <tr>
  17.       <td>USUARIO</td>
  18.       <td>Nombre</td>
  19.       <td>A. paterno</td>
  20.       <td>A. Materno</td>
  21.       <td>Email</td>
  22.  
  23.  
  24.    
  25.     </tr>
  26. <?php } ?>
  27.  
  28.     <?php } while ($row_docentes= mysql_fetch_assoc($docentes)); ?>
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #6 (permalink)  
Antiguo 23/05/2017, 01:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duplicar encabezado en tabla por número de registros

También podrías colocar los encabezados en una función y llamarla cuando sea necesario (antes del ciclo o cada 25 registros).
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 23/05/2017, 11:16
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Gracias
Código PHP:
<?php 
$i
=0;
do { 
$i++;?> 
<tbody>
      <tr>
          <td><?php echo $i?></td> 
          <td><?php echo $row_docentes['Nombre']; ?></td> 
          <td><?php echo $row_docentes['ApellidoPaterno']; ?></td> 
          <td><?php echo $row_docentes['ApellidoMaterno']; ?></td> 
          <td><?php echo $row_docentes['Email']; ?></td> 
      </tr>   
    </tbody>
      
<?php if ($i%2==0) {?>
  </table>
  <table border="1">
  <thead>  <tr>
      <td>No.</td> 
      <td>Nombre</td> 
      <td>A. paterno</td> 
      <td>A. Materno</td> 
      <td>Email</td> 
  
   </thead> 
    </tr>

<?php ?>
 
    <?php } while ($row_docentesmysql_fetch_assoc($docentes)); ?>

La Tabla quedo así
https://ibb.co/dC2xOF


Para la prueba cambie a 2 registros... los primeros 2 salen sin encabezados 3 y 4 bien ... 5 bien, pero en este debo aumentar uno vació para tener el 6to... alguna idea... de antemano gracias nuevamente

Última edición por Briss; 23/05/2017 a las 11:33
  #8 (permalink)  
Antiguo 23/05/2017, 14:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duplicar encabezado en tabla por número de registros

Código PHP:
Ver original
  1. // Cambia este if
  2. <?php if ($i%2==0) {?>
  3.  
  4. // Por este otro
  5. <?php if ($i == 0 || $i % 2 == 0) {?>

Así también se mostrarán los encabezados para los primeros registros.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 23/05/2017, 14:58
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Gracias Triby lo probe pero no se refleja ningún cambio
  #10 (permalink)  
Antiguo 23/05/2017, 15:36
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Hice lo siguiente : agregue al inicio los encabezados y salen bien, para dibujar el 6to renglón vacío compare $i

Código PHP:
  <table border="1">
  <thead>  <tr>
      <td>No.</td> 
      <td>Nombre</td> 
      <td>A. paterno</td> 
      <td>A. Materno</td> 
      <td>Email</td> 
  
   </thead> 
    </tr>

<?php 
$i
=0;
do { 
$i++;?> 
<tbody>
      <tr>
          <td><?php echo $i?></td> 
          <td><?php echo $row_docentes['Nombre']; ?></td> 
          <td><?php echo $row_docentes['ApellidoPaterno']; ?></td> 
          <td><?php echo $row_docentes['ApellidoMaterno']; ?></td> 
          <td><?php echo $row_docentes['Email']; ?></td> 
      </tr>   
    </tbody>
      
<?php if ($i<and $i>4) {?>
<tbody>
      <tr>
          <td><?php echo $i+1?></td> 
          <td></td> 
          <td></td> 
          <td></td> 
          <td></td> 
      </tr>   
    </tbody>

<?php ?>
<?php 
if ($i == 0) {?>
  </table>
  <table border="1" >
  <thead>  <tr>
      <td>No.</td> 
      <td>Nombre</td> 
      <td>A. paterno</td> 
      <td>A. Materno</td> 
      <td>Email</td> 
  
   </thead> 
    </tr>

<?php ?>
 
    <?php } while ($row_docentesmysql_fetch_assoc($docentes)); ?>
Mi tabla quedo así

https://ibb.co/i52sqv


No entiendo porque las dos primeras tablas salen juntas y en la ultima hay un espacio
  #11 (permalink)  
Antiguo 23/05/2017, 16:01
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: duplicar encabezado en tabla por número de registros

Gracias por su tiempo y ayuda baldaweb y triby ...
  #12 (permalink)  
Antiguo 24/05/2017, 09:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duplicar encabezado en tabla por número de registros

Cita:
Iniciado por Briss Ver Mensaje
No entiendo porque las dos primeras tablas salen juntas y en la ultima hay un espacio
Por HTML mal formado; revisa el código en el navegador y seguramente verás que algo no va bien ahí.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: duplicar, encabezado, mysql, registro, registros, select, 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 18:02.