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 :
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);
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