Un array_unique qui pose problème

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un array_unique qui pose problème

par Anémone » 03 févr. 2009, 02:19

Oui, merci,
je suis parti de ta remarque pour refaire mon script en prenant bien soin de récupérer à chaque tour de mon while une variable différente, en y plaçant un compteur, mais au final c'est un peu tarabiscoté.
J'essaierai plus tard directement par le MYSQL avec la fonction que tu m'indiques.
Merci encore, bien cordialement,

Thierry

par @rthur » 03 févr. 2009, 00:21

Bonjour,

Fait un print_r de ton tableau $tab => tu l'écrase à chaque passage dans la boucle while...

Par ailleurs, tu devrais pouvoir faire ce que tu veux directement en MySQL avec la fonction MySQL SUBSTRING() et l'opérateur GROUP BY:
http://dev.mysql.com/doc/refman/5.0/fr/ ... #id2494773

Un array_unique qui pose problème

par Anémone » 02 févr. 2009, 22:57

Bonjour,

Voilà, je craque.
Je veux extraire d'une base une liste sans doublon des premières lettres de noms enregistrés dans un champ de cette base; ça devrait rouler, pourtant..
$recherche="SELECT DISTINCT raison_sociale FROM societe ORDER BY raison_sociale";
$res=mysql_query($recherche);
while($result=mysql_fetch_array($res))
{
$premiere_lettre['raison_sociale'] = substr($result['raison_sociale'], 0,1 );
$tab = $premiere_lettre['raison_sociale'];}
$lettres_uniques = array_unique($tab);
$n=count($lettres_uniques);
$i=1;
while ($i<$n)
{echo $lettres_uniques[$i]."\n";
$i++;}
?>
rien ne se passe.
Merci d'avance,

Thierry