Bonjour .

Je n'arrive pas a réaliser un truc tout bete ... J'espere que vous pourrez m'aider .

J'ai deux tables , marque et modele.

j'aimerais faire un affichage par marque du style :



+ Marque 1
- Modele 1
- Modele 2
- Modele 3

+ Marque 2
- Modele 4
- Modele 5

+ Marque 3
- Modele 6



Hors tout ce que je sais faire c'est un tableau par jointure.



$sql = "SELECT marque.nom, modele.nom AS nomb FROM tbmarque, tbmodele WHERE marque.did = modele.eid";

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
$data = mysql_fetch_assoc($req);

echo $data['nom']; 

while($data = mysql_fetch_assoc($req)) 
{
echo '<br/>';
echo $data['nom']; 
echo '<br/>';
echo $data['nomb']; 
echo '<br/>';
}




Evidemment cela n'affiche pas comme je le souhaite. Puisque ça affiche


Marque1.
Modele 1
Marque 1
Modele 2
..
Marque3
Modele 6


Comment faire ??

Merci
tu t'en doute bien c'est ta requête qui est fausse, il faut que tu fasses un group by sur les marques et ensuite tu peux mettre les marque et modele par ordre alphabétique à l'aide d'un order by (order by marque.nom, modele.nom) par défaut c'est à asc
Hum ..

Mais si je fait ça



SELECT marque.nom, modele.nom AS nomb FROM tbmarque, tbmodele WHERE marque.did = modele.eid GROUP BY marque.nom



Ben ça m'affiche qu'un Modele par Marque ..
Hors je veux tous les modeles de la marque Smiley decu
oh oui c'est exacte ! grosse erreur de ma part !
mais en faite ... je crois qu'il faut que tu décompose en deux requetes :
une te donne toutes les marques : select * from marques order by marques.nom

ensuite tu deroules tes resultats dans un while comme tu l'as fait
a chaque passage tu recupére le nom que tu affiche en premiere onglet
et son id pour faire ta 2e requete :
celle ci va recuperer les modeles de ta marque : select * from modeles where id_marque = [la variable id qui est en premiere boucle] order by nom
ensuite tu deroule de la mme maniere et tu affiches le nom a chaque passage

je ne sais pas si c'est très clair :s
Ah mais je croyais que faire deux requete imbriqué c'etait le mal absolu ??
ça fait si longtemps que j'ai pas fait de sql / php que now suis totalement largué Smiley decu

Bon j'approfondirais ta solution ( sauf si qq a qq chose de génial entre temps ) plus tard , je me suis lancé sur autre page now.
Car vu ma lenteur a coder , ça va me prendre la journée lol

Merci
non ce n'est pas des requetes imbriqués Smiley lol

bon je n'ai pas été clair, je reprend :
req 1 = toutes les marques

while (req1){
echo req1.nom_marque;
req2 = tous les modeles de la marque req1.id
while(req2){
echo req2.nom_modele;
}
}

c'est mieux ? (attention ce n'est pas du tout la bonne synthaxe c'est plutot un genre d'algo rapide pour te faire visualiser le traitement à faire Smiley lol a toi de coder le reste )