sql >> Database >  >> RDS >> Mysql

Records groeperen van while-lus | PHP

Als je zeker weet dat de resultaten op prioriteit zijn gerangschikt, dan is zoiets triviaals dit:

$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'];
}

Met andere woorden, u houdt het huidige prioriteitsniveau bij in de $priority variabel. Test vervolgens of de prioriteit is gewijzigd in de if voorwaarde. Zo ja, echo de prioriteit en stel de huidige prioriteit in op de prioriteit in de huidige rij.

Let wel, dit werkt alleen zoals verwacht (echt een keer gegroepeerd) als de rijen op prioriteit zijn gerangschikt. Met andere woorden, wanneer verschillende prioriteiten niet verspreid zijn over de resultatenset.



  1. Wat zijn triggers in SQL en hoe implementeer je ze?

  2. Verbinding met Db sterft na>4<24 in spring-boot jpa-slaapstand

  3. T-SQL dynamische SQL- en tijdelijke tabellen

  4. SQL-injectie zonder parameters vermijden