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

Agrupación de registros del ciclo while | PHP

Si está seguro de que los resultados están ordenados por prioridad, entonces algo tan trivial como esto:

$priority = null;
while($row = mysql_fetch_array($result))
{
    if( $row['priority'] != $priority )
    {
        echo '<h1>Priority Level: ' . $row['priority'] . '</h1>';
        $priority = $row['priority'];
    }
    echo $row['name'];
}

En otras palabras, realiza un seguimiento del nivel de prioridad actual en el $priority variable. Luego prueba si la prioridad ha cambiado en el if condición. Si es así, echo la prioridad y establezca la prioridad actual en la prioridad que se encuentra en la fila actual.

Eso sí, esto solo funciona como se esperaba (realmente agrupado una vez) si las filas están ordenadas por prioridad. En otras palabras, cuando las diferentes prioridades no están dispersas en el conjunto de resultados.