sql >> Base de Datos >  >> RDS >> Mysql

Mostrar resultados en múltiples tablas html

Dado que sus resultados ya están ordenados por fecha, puede almacenar la fecha anterior en una variable y crear una nueva tabla cada vez que cambie.

$olddate = '';

while($row = mysql_fetch_array($result))
{
$fdate = date('M jS, Y l', strtotime($row['date']));
if ( $olddate != $fdate ) { // date has changed:
    // end the previous table (if it exists)
    if ( $olddate != '' ) {
        echo "</table>"
    }
    // start the new table. Do something with $fdate here if you like
    echo "
    <h3>$fdate</h3>
    <table border='1'>
    <tr class='top'>
    ...
    </tr>";
    }
// print a row as before.
echo "<tr>";
....
}
// end the last table
echo "</table>";

Básicamente, lo único que ha cambiado es que el $fdate se almacena también en $olddate . Cuando procesamos una nueva fila, si la fecha ha cambiado (es decir, $olddate != $fdate ), creamos una nueva tabla.

Para cada fila en el resultado de mysql, aún generamos una fila de la tabla como antes (es posible que desee realizar algunos cambios, como no incluir más la columna Fecha).