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

Afficher correctement les résultats de la requête mySQL one-to-many

  1. ajouter order by clause pour trier par ID de trajet
  2. créer $lastTripID variable pour vérifier quand vous obtenez des "étapes" de "nouveau voyage"
  3. [recommandé ] utiliser join pour sélectionner des données dans plusieurs tables

Code :

<?php
    $legsQuery = "
        select  
            trips.tripID, 
            legs.depart, 
            legs.arrive 
        from 
            legs
            inner join trips on trips.tripID = legs.tripID
        order by
            trips.tripID
    ";
    $legsQueryResult = mysql_query($legsQuery) or die("QUERY LEG ERROR: " . mysql_error());
    $lastTripID = null;
    while ($row = mysql_fetch_assoc($legsQueryResult)) {
        if ( $row['tripID'] !== $lastTripID ) {
            echo $row['tripID'], "\n";
            $lastTripID = $row['tripID'];
        }
        print_r($row);
    }