Mysql
 sql >> Base de données >  >> RDS >> Mysql

Afficher les résultats dans plusieurs tableaux html

Étant donné que vos résultats sont déjà triés par date, vous pouvez simplement stocker la date précédente dans une variable et créer un nouveau tableau à chaque fois que cela change.

$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>";

Fondamentalement, la seule chose qui a changé est que le $fdate est également stocké dans $olddate . Lorsque nous traitons une nouvelle ligne, si la date a changé (c'est-à-dire $olddate != $fdate ), nous créons une nouvelle table.

Pour chaque ligne du résultat mysql, nous générons toujours une ligne de table comme avant (vous voudrez peut-être apporter quelques modifications comme ne plus inclure la colonne Date).