Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

366
Vistas
Mostrar registros por fecha a través de PHP usando la tabla

La primera imagen son mis registros en mi base de datos, 'enr_biometrics_id' es un ID de usuario, simplemente lo nombro así. no importa el 'log_no'

tabla de datos tabla de datos

Ahora, quiero mostrar los registros de enr_biometrics_id = '000000001' desde la fecha 2021-07-01 - 2021-07-15, al igual que la imagen a continuación usando y mostrar espacios en blanco en ningún registro en la fecha 2021-07-01 - 2021 -07-15. ¡Gracias por la ayuda por adelantado!

2da imagen

Tengo un código ahora mismo:

 <?php include('config/config.php'); ?> <table border="1"> <tr> <th>Log Date</th> <th>Logs</th> <th>Logs</th> <th>Logs</th> <th>Logs</th> <th>Logs</th> </tr> <?php $start_period = "2021-07-01"; $end_period = "2021-07-15"; date_default_timezone_set('UTC'); while (strtotime($start_period) <= strtotime($end_period)) { ?> <tr> <td><?php echo "$start_period"; ?></td> <?php $logs_query = mysqli_query($conn, "SELECT * FROM tb_daily_time_record WHERE date_added BETWEEN '$start_period' AND '$end_period' AND enr_biometrics_id='000000001' ")or(die(mysql_error())); while($row_logs = mysqli_fetch_assoc($logs_query)){ $date_logs = $row_logs['date_added']; $t_logs = $row_logs['time_log']; ?> <td> <?php echo $t_logs; ?> </td> <?php } ?> </tr> <?php $start_period = date ("Y/m/d", strtotime("+1 days", strtotime($start_period))); } ?> <tr> </table>

Obtener un resultado como este MyCoderightnow

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esta sería mi solución a la información que está dando. Probablemente sea posible optimizar esto, pero da una buena idea de una solución.

Suma corta, verifico si la fila actual tiene la misma cadena que la fila anterior, si este no es el caso, creo una nueva fila

 $result = 'SELECT * FROM table'; // query .. $checkdate=''; echo '<table>'; foreach ($result as $row) { if ($row['date_added'] != $checkdate) { $checkdate = $row['date_added']; echo '</tr> <tr> <td>'.$row['time_log'].'</td> <td>'.$row['time_log'].'</td>'; continue; } echo '<td>'.$row['time_log'].'</td>'; } echo '</tr></table>';
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda