Entonces, yo lo que haría es seleccionar todos los registros y agruparlos por fecha con una consulta. Posteriormente para clasificarlos en tablas, podría hacer algo así:
Código PHP:
$fecha_actual = "";
while($rs = mysqli_fetch...)
{
if($fecha_actual != $rs['fecha'])
{
//CREO TABLA
//GUARDO LA NUEVA FECHA
$fecha_actual = $rs['fecha'];
}
//MUESTRO LAS FILAS
if($fecha_actual != $rs['fecha'])
{
//CIERRO TABLA
}
}
También puedes, antes de crear la tabla hacer una función que te clasifique los resultados directamente entre arrays y te lo devuelva:
Código PHP:
Ver original //OBJETO MYSQL
array('dni' => 123132, 'fecha' => '12/12/2015'), array('dni' => 123132, 'fecha' => '12/12/2015'), array('dni' => 123132, 'fecha' => '12/12/2015'), array('dni' => 123132, 'fecha' => '12/12/2015'), ),
//OBJETO MYSQL
array('dni' => 123132, 'fecha' => '1/01/2016'), array('dni' => 123132, 'fecha' => '1/01/2016'), array('dni' => 123132, 'fecha' => '1/01/2016'), array('dni' => 123132, 'fecha' => '1/01/2016'), ),
)
De ese modo, simplemente tendrías que crear una tabla por cada array, y dentro de cada tabla sus resultados. Seguro que hay muchas más formas, solo hay que pensar un poco.