PHP : affichage tordu d'une requête

tonio -  
Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   -
Je débute avec php, et j'ai un ptit soucis ...

Je voudrais afficher le résultat d'une requête d'une certaine manière :

____________________________________
#Requête
Société 1 | Region a | Personne 11a
Société 1 | Region a | Personne 12a
Société 1 | Region a | Personne 13a
Société 1 | Region b | Personne 14b
Société 1 | Region c | Personne 15c
Société 2 | Region a | Personne 21a
Société 2 | Region a | Personne 22a
Société 3 | Region b | Personne 23b
.../...
_____________________________
#affichage 1
Société 1
Région a
personne 11a
personne 12a
personne 13a
Région b
personne 14b
Region c
personne 15c
Société 2
Région a
personne 21a .../...

____________________________
#affichage 2
Société 1
Région a, Région b, Région c.
personne 11a
personne 12a
personne 13a
personne 14b
personne 15c

Société 2
Région a, Région b.
personne 21a .../...
____________________________

Est-ce que quelqu'un pourrait me filer un chtit coup de main ???
merci d'avance
Antoine

1 réponse

  1. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    Imaginons que tes champs soient
    Societe/Region/Personne

    Il te suffit de faire un
    $query = "SELECT distinct societe FROM matable"
    Puis $result = mysql_query($query)
    et
    un while($row = mysql_fetch_row($result)){}

    dans ton while tu fais un echo "$row[0]."<br>";
    puis tu refais une requete
    $query2 = "SELECT distinct region from MaTable where societe = \"".$row[0]"\"";

    $result2 = mysql_query($query2)

    et
    un while($row2 = mysql_fetch_row($result2)){}

    dans ton while tu refais un echo "$row2[0]."<br>";
    puis tu refais une requete
    $query3 = "SELECT distinct personne from MaTable where societe = \"".$row[0]"\" and region = \"".$row2[0]."\"";

    et enfin
    un while($row3 = mysql_fetch_row($result3)){}

    et dans ton while tu refais un echo "$row3[0]."<p>";

    Tu refermes toutes les jolies accolades... et tu as ton affichage :-)

    Les 3 while imbriqués ça revient à faire des requêtes imbriquées... ce que tu ne peux pas faire avec MySQL mais avec Oracle...

    Si tu utilises Oracle, tous les détails sont dans la section SQL de CCM :
    http://www.commentcamarche.net/sql/sqlintro.php3
    0