Supprimer doublon après enregistrement [Résolu]

Signaler
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015
-
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015
-
Bonjour,
Je voudrais supprimer des doublons après enregistrement ( et pas avant !)

exemple : dans une table il y a les champs a,b,c
Les enregistrements ont donné
a = vert,rouge,bleu, ( donc trois enregistrement )
b = rouge, jaune,vert, violet
c = vert,jaune,gris
quand je fais la liste avec un select , j'obtient : ( retour à la ligne grâce à un :nl2br() )
vert
rouge
bleu
rouge
jaune
vert
violet
vert
jaune
gris

Je voudrais avoir
vert
rouge
bleu
jaune
vert
violet
gris

merci

3 réponses

Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015

ça marche comme ceci

$a=$a.$b.$c.$d.$e.$f.$g.$h.$i.$j.$k.$l;
$a=nl2br($a);
$tableau =explode("(PLR)",$a);
$tableau = array_unique ($tableau);
for($n=0;$n<count($tableau);$n++)
{if ($tableau[$n]!="") {print("$tableau[$n](PLR)");}
}
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
vert
rouge
bleu
jaune
vert
violet
gris

Y'a 2 vert la :)

quand tu fais un SELECT, utilise la clause DISTINCT pour supprimer les doublons pour l'affichage :)

ex :
SELECT DISTINCT couleur FROM table

Et tu fais une boucle normalement :)
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015

effectivement le vert ne doit plus exister après.
Le DISTINCT ne donne rien.
Petite précision :
les champs a,b,c... son complété régulierement , je m'explique
par exemple dans a il y a d'abord enregisté vert
puis bleu se rajoute et donne a vert bleu séparé par un retour à la ligne ect ...
Donc caque champ est une accumulation de ligne en quelque sorte .