¿Cómo puedo enumerar datos en secciones por ID, con un bucle while en PHP? [cerrado]

Resuelto Erdal Bakkal asked hace 54 años • 1 respuestas

Tengo una tabla mysql con estas columnas:

series_id, series_color, product_name

En el resultado quiero enumerar los datos en secciones, con una sección para cada una series_id, como esta:

A12 Series Product

 - Milk  
 - Tea 
 - sugar
 - water

B12 Series Product

 - Water 
 - Banana 
 - Cofee 
 - Tea
Erdal Bakkal avatar Jan 01 '70 08:01 Erdal Bakkal
Aceptado

Ordena tus resultados por series_id, así todos los productos con el mismo valor estarán juntos.

$stmt = $pdo->prepare("SELECT series_id, product_name
                       FROM yourTable
                       ORDER BY series_id");
$stmt->execute();

Luego, al mostrar los resultados, muestre el encabezado de la Serie y comience una nueva <ul>cada vez que cambie:

$last_series = null;
echo "<ul>\n";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    if ($row['series_id'] != $last_series) {
        if ($last_series) {
            echo "</ul></li>\n";
        }
        echo "<li>" . $row['series_id'] . " Series Product\n";
        echo "<ul>\n";
        $last_series = $row['series_id'];
    }
    echo "<li>" . $row['product_name'] . "</li>\n";
}
if ($last_series) {
    echo "</li>\n";
}
echo "</ul>\n";
Barmar avatar Dec 20 '2014 00:12 Barmar