Page 1 sur 1

Boucle et condition/comparaison

Posté : 04 août 2010, 12:34
par Nomis
Bonjour!
J'ai fais une petite boucle pour afficher mes résultats et tout se passe bien, elle ressemble à ceci:

Code : Tout sélectionner

while ($row = mysql_fetch_array($resultat, MYSQL_ASSOC)){ echo '<div onClick="visibilite(this,'.$i.');" class="icon_plus">'.$row["NomOrga"].'</div>'; echo '<div id="div'.$i.'" style="display:none;">'; echo '<div class="association">'; if ($row['Adresse']!=""){ echo "<span class='gris'>Adresse:</span> ".$row["Adresse"]."<br />"; } if ($row['Localite']!=""){ echo "<span class='gris'>Commune:</span> ".$row["CP"]." ".$row["Localite"]."<br />"; } if ($row['Tel']!=""){ echo "<span class='gris'>T&eacute;l:</span> ".$row["Tel"]."<br />"; } if ($row['Fax']!=""){ echo "<span class='gris'>Fax:</span> ".$row["Fax"]."<br />"; } if ($row['Email']!=""){ echo '<span class="gris">Email:</span> <a href=mailto:'.$row["Email"].' class="liens">'.$row["Email"].'</a><br />'; } if ($row['Site']!=""){ echo '<span class="gris">Site:</span> <a href='.$row["Site"].' class="liens" target="_blank">'.$row["Site"].'</a><br />'; } }
Mon soucis vient du fait que - la base de données est ainsi faites - il existe plusieurs résultats ayant le meme NomOrga. J'aimerais les fusionner et afficher les infos autrement quand c'est le cas.
Mais je dois avouer que je ne vois pas du tout comment comparer tous les résultats entre eux, pour dans un cas afficher les infos fusionnées quand les NomOrga sont identiques, et dans l'autre cas les afficher de manière "normale" (comme je fais actuellement).

Est-ce que quelqu'un pourrait m'aider/apprendre sur ce coup là? :(
Merci bien.

(si on doit se débarasser de la boucle while au profit d'une boucle for, je dis pas non)

Re: Boucle et condition/comparaison

Posté : 04 août 2010, 12:37
par xTG
Le mieux serait de former l'array correspondant à la structure de donnée qui t'intéresse dans la boucle du mysql_fetch_array() et ensuite de refaire une boucle sur cet array formaté pour l'affichage.

Re: Boucle et condition/comparaison

Posté : 24 août 2010, 11:16
par Nomis
Rebonjour!

Je reviens un peu à l'assaut avec ce problème, bon, j'ai bien tout pris ce que je voulais de ma bdd et maintenant j'ai un maaagnifique tableau (bi/tri? dimensionnel) très pratique nommé amoureusement $tab (pour les intimes :oops: )
Et si je veux accéder à un élément c'est comme ceci:

Code : Tout sélectionner

echo $tab[$i]["NomOrga"].'<br />';
Ce que j'aimerais faire, pour rappel c'est de comparer les NomOrga, car il existe des doublons (ils ont le même nom, mes des données différentes, donc mon but c'est pas de deleter les doublons, mais plus des les fusionner pour obtenir tout leur contenu).
Alors j'ai testé un malheureux:

Code : Tout sélectionner

for ($i=0; $i<$taille; $i++){ for ($j=$i+1; $j<$taille; $j++){ echo $tab[$i]["NomOrga"].'<br />'; if($tab[$i]["NomOrga"]==$tab[$j]["NomOrga"]){ echo "CAPOUE<br />"; } }
Ce qui va me donner à l'affichage pour un "doublon" (qui se trouve 4X dans ma bdd) ceci par exemple:

Code : Tout sélectionner

... uneOrga uneAutreOrga monOrga CAPOUE CAPOUE CAPOUE monOrga CAPOUE CAPOUE monOrga CAPOUE monOrga encoreUneOrga cestLaFeteDesOrga ...
Alors que j'aimerais plutot ceci:

Code : Tout sélectionner

... uneOrga uneAutreOrga monOrga CAPOUE CAPOUE CAPOUE encoreUneOrga cestLaFeteDesOrga ...
Est-ce que je suis clair dans mon exemple :| ?

Est-ce que quelqu'un à une idée de comment je pourrais trier/comparer mes données?

Re: Boucle et condition/comparaison

Posté : 24 août 2010, 13:06
par Nomis
c'est bon j'ai résolu mon problème. ^^

Re: Boucle et condition/comparaison

Posté : 24 août 2010, 14:07
par sylvaing26
Au niveau de ta requete utilise SELECT DISTINCT