Supression de doublons dans un même champ

gpau
Invité n'ayant pas de compte PHPfrance

23 sept. 2012, 18:53

Bonjour,

Débutant SQL, je me retrouve face à un petit pbl que je n'arrive pas à résoudre via google :
Je fais une mise en forme de base de données mysql via phpmyadmin à partir de données récupérées ailleurs.

Dans certaines chaînes de caractères, j'ai des données redondantes ex. : montagne, mer, montagne, campagne
J'aimerais éliminer le doublon, et donc que le "montagne" redondant soit supprimé de la chaîne, et qu'au final cette chaîne ne contienne plus que : "montagne, mer, campagne"
C'est un truc que j'arrive à faire sur excel par exemple avec le bout de code qu'il faut

Quelqu'un aurait-il une piste ?

Par avance merci
@+

ViPHP
ViPHP | 2577 Messages

24 sept. 2012, 10:48

Il faut faire ca en PHP pas en SQL.

Un truc dans le genre :
<?PHP
$chaine = "montagne, mer, montagne, campagne"
$t = explode(', ',$chaine);
foreach ($t as $lieu) {
   $tab[$lieu] = $lieu;
}
$chaine2 = implode(', ',$tab);
echo $chaine,' => ',$chaine2;
?>

gpau
Invité n'ayant pas de compte PHPfrance

24 sept. 2012, 16:02

Oui, ça me parait effectivement + logique
Merci pour la réponse

gpau
Invité n'ayant pas de compte PHPfrance

25 sept. 2012, 16:59

<?PHP
$chaine = "montagne, mer, montagne, campagne";
$t = explode(', ',$chaine);
foreach ($t as $lieu) {
   $tab[$lieu] = $lieu;
}
$chaine2 = implode(', ',$tab);
echo $chaine,' => ',$chaine2;
?>
Manquait juste le ; en fin de 2° ligne
ça marche nickel
thanks !