Page 1 sur 1

Les tableaux multidimensionnels me mènent la vie dure

Posté : 26 janv. 2007, 18:14
par DrumCode
Bonjour,

Je voudrai classer par catégorie les données issus d'une requêtes SQL dans un tableau multidimensionnels.

Je m'explique :

Le résultat de ma requête renvoie un tableau sous cette forme :

Categories___+_____Compétences
Categ1______+_____Comp1
Categ1______+_____Comp2
Categ1______+_____Comp3
Categ2______+_____Comp4
Categ2______+_____Comp5
Categ3______+_____Comp6
...

Mon but est de créer un tableaux sous cette forme.

array(Categ1(Comp1,Comp2,Comp3),Categ2(Comp4,Comp5),Categ3(Comp6),...)

Donc j'ai essayer de créer des clés (les categ) de cet maniere :

Code : Tout sélectionner

... var arrayC=array(); ... while(list($categ,$comp)=$this->mySql->fetch_row()){ if(!array_key_exists($categ, $this->arrayC)){ $this->arrayC[]=$categ; } }
malheuresement quand j'essai de voir les clés existantes dans mon tableau

Code : Tout sélectionner

... printf(array_keys($this->arrayC)); ...
Il n'existe aucune clés dans le tableau, ca fait 1 heure que je retourne le problème dans tout les sens, que je cherche sur le forum les solutions déja proposées pour des problèmes de ce genre, mais rien n'y fait.

Donc je suppose que ca vien de moi :cry:.

J'attend votre aide avec impatience merci.

Posté : 26 janv. 2007, 19:19
par rakizm
pour remplir un tableau à partir d'un résultat de requete je te conseille d'utiliser array_push()
et ta requete il faudrait la montrer aussi :P
essaie d'abord de récupérer les clés des categ ensuite avise

Posté : 26 janv. 2007, 20:06
par Truc
En plus facile :
while($ligne=$this->mySql->fetch_row())
{ 
    $this->arrayC[$ligne[0]][]=$ligne[1];
}

// pour verifier le contenu 
<pre>
<?php var_dump($this->arrayC); ?>
</pre>

Posté : 26 janv. 2007, 21:39
par DrumCode
Merci truc,

Ca roule impécable.