Requete Mysql et tableaux multidimentionnels
Posté : 02 avr. 2010, 14:45
Bonjour à tous,
Grand débutant en PHP et MySQL, je vous lis depuis quelques semaines et j'ai trouvé pas mal de réponses à mes interrogations.
Aujourd'hui je trouve des réponses ici : http://jmolline.free.fr/tutos/comprendre_tableaux.html et http://www.phpdebutant.org/article11.php mais je ne comprends pas.
Voici mon problême :
A partir de mes tables çi-dessous je cherche la requete ainsi que la déclaration d'array qui va permettre d'avoir le résultat suivant :
Renault
Citadine : 1) Clio, 2) Twingo
Berlines : 1) Megane 2) Laguna
Citroen
Citadine : 1) Saxo
Monospace : 1) Picasso
Mes tables :
Constructeur
+---------------------+---------------------+
| id_constructeur | Constructeur |
+---------------------+---------------------+
| 1 | Renault |
+---------------------+---------------------+
| 2 | Citroen |
+---------------------+---------------------+
stock
+---------------------+---------------------+---------------------+
| id_constructeur | Categorie | Modele |
+---------------------+---------------------+---------------------+
| 1 | Citadine | Clio |
+---------------------+---------------------+---------------------+
| 1 | Citadine | Twingo |
+---------------------+---------------------+---------------------+
| 1 | Berline | Megane |
+---------------------+---------------------+---------------------+
| 2 | Citadine | Saxo |
+---------------------+---------------------+---------------------+
| 2 | Monospace | Picasso |
+---------------------+---------------------+---------------------+
| 1 | Berline | Laguna |
+---------------------+---------------------+---------------------+
sur ce site http://www.phpdebutant.org/article11.php j'ai trouvé ce code :
Mais les variables sont déclarées "en dur" dans le code et malgré plusieurs heures de recherche je n'arrive pas à trouver et à creer le tableau qui correspond.
J'espère que vous pourez m'aider
Je vous remercie
Grand débutant en PHP et MySQL, je vous lis depuis quelques semaines et j'ai trouvé pas mal de réponses à mes interrogations.
Aujourd'hui je trouve des réponses ici : http://jmolline.free.fr/tutos/comprendre_tableaux.html et http://www.phpdebutant.org/article11.php mais je ne comprends pas.
Voici mon problême :
A partir de mes tables çi-dessous je cherche la requete ainsi que la déclaration d'array qui va permettre d'avoir le résultat suivant :
Renault
Citadine : 1) Clio, 2) Twingo
Berlines : 1) Megane 2) Laguna
Citroen
Citadine : 1) Saxo
Monospace : 1) Picasso
Mes tables :
Constructeur
+---------------------+---------------------+
| id_constructeur | Constructeur |
+---------------------+---------------------+
| 1 | Renault |
+---------------------+---------------------+
| 2 | Citroen |
+---------------------+---------------------+
stock
+---------------------+---------------------+---------------------+
| id_constructeur | Categorie | Modele |
+---------------------+---------------------+---------------------+
| 1 | Citadine | Clio |
+---------------------+---------------------+---------------------+
| 1 | Citadine | Twingo |
+---------------------+---------------------+---------------------+
| 1 | Berline | Megane |
+---------------------+---------------------+---------------------+
| 2 | Citadine | Saxo |
+---------------------+---------------------+---------------------+
| 2 | Monospace | Picasso |
+---------------------+---------------------+---------------------+
| 1 | Berline | Laguna |
+---------------------+---------------------+---------------------+
sur ce site http://www.phpdebutant.org/article11.php j'ai trouvé ce code :
Code : Tout sélectionner
// $constructeur contient la gamme Renault et Citroen
// on se contentera de deux constructeurs : ça suffira pour l'exemple :)
$constructeur = array();
$constructeur['Renault']['Citadines'] = array('Twingo','Clio');
$constructeur['Renault']['Berlines'] = array('Megane','Laguna');
$constructeur['Renault']['Monospaces'] = array('Scenic','Espace');
$constructeur['Citroen']['Citadines'] = 'Saxo';
$constructeur['Citroen']['Berlines'] = array('Xsara','Xantia');
$constructeur['Citroen']['Monospaces'] = array('Picasso','Evasion');
function afficher_tableau($tableau)
{
// on fait une boucle qui lit les éléments du tableau
foreach ($tableau as $cle=>$valeur)
{
// si l'un des éléments est lui même un tableau
// alors on applique la fonction à ce tableau
if(is_array($valeur))
{
// on affiche le nom de la clé et
// le début d'une liste pour
// décaler le contenu vers la droite
echo $cle.' : <ul>';
// ici se réalise la récursivité
// c'est à dire qu'on applique la fonction
// à l'élément en cours car c'est lui aussi un tableau
afficher_tableau($valeur);
// on ferme la liste
echo '</ul>';
}
// si ce n'est pas un tableau
// alors on affiche le contenu de l'élément
else
{
echo $cle.' = '.$valeur.' <br>';
}
}
}
afficher_tableau($constructeur); J'espère que vous pourez m'aider
Je vous remercie