IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

liste sans doublons


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut liste sans doublons
    bonjour (bonsoir )

    Voici mon soucis, je possède une liste de mots séparé par le caractère | .
    Certains mots peuvent être composé :


    pain d'épice|ballon|pain d'épice|médor|tennis|volley ball|maison


    Comment puis je enlever les doublons de cette liste en utilisant le moins de ressources possibles ? La fonction array_unique ne marche pas car le séparateur n'est pas un espace et que j'utilise des mots composés.

    merci

  2. #2
    jnore
    Invité(e)
    Par défaut
    Salut,

    T'es-tu assuré que la chaine de caractère qui contient "pain d'épice|ballon|pain d'épice|médor|tennis|volley ball|maison
    " est bien un tableau ?

    Sinon il te faut exploser ta chaine comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine="pain d'épice|ballon|pain d'épice|médor|tennis|volley ball|maison";
    $tableau=explode('|',$chaine);//ici on explose la chaine pour qu'elle devienne un tableau
    $tableau=array_unique($tableau);//On dédoublonne

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Bonjour ,

    A l'origine la liste est contenu dans une variable de type chaine de caractère.

    J'utilisais effectivement les fonctions explode / array_unique / implode pour former un tableau et faire la suppression de doublon dessus puis remettre le tous sous forme d'une chaine de caractère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    unction supprimer_doublon($liste_donnees_a_ajouter)
    {
    	$tableau_liste_donnees_a_ajouter = explode ("|",$liste_donnees_a_ajouter);
    	$tableau_liste_donnees_a_ajouter =  array_unique($tableau_liste_donnees_a_ajouter);	
    	$liste_donnees_a_ajouter = implode (" ", $tableau_liste_donnees_a_ajouter);
    	return $liste_donnees_a_ajouter;
    }
    Je me demande si mon problème ne vient pas d'ailleur car je ne vois pas ce qui cloche dans mon code.

    mais le problème demeurre.

  4. #4
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Je ne comprend pas trop quel est ton problème.

    Je viens de faire un test et ta fonction renvoi bien ce qu'elle est censé renvoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function supprimer_doublon($liste_donnees_a_ajouter)
    {
    	$tableau_liste_donnees_a_ajouter = explode ("|",$liste_donnees_a_ajouter);
    	$tableau_liste_donnees_a_ajouter =  array_unique($tableau_liste_donnees_a_ajouter);	
    	$liste_donnees_a_ajouter = implode (" ", $tableau_liste_donnees_a_ajouter);
    	return $liste_donnees_a_ajouter;
    }
     
    echo supprimer_doublon("pain d'épice|ballon|pain d'épice|médor|tennis|volley ball|maison");
    // Affiche : pain d'épice ballon médor tennis volley ball maison

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Oui, tu as raison.
    En fait le problème vient plus du fait du traitement que je fais derrière.

    Une fois la liste récupére sans doublons :

    "pain d'épice ballon médor tennis volley ball maison"

    Je voudrais remplir un champs d'une bdd mysql de type multiselect avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE `bacasable`.`jos_comprofiler` SET `cb_type`= \''.$liste_donnees_a_ajouter.'\' WHERE `jos_comprofiler`.`user_id`='.$user_id;
    Le problème c'est que l'insertion se fait au niveau de chaque blanc:

    pain
    d'épice
    ballon
    médor
    ...


    au lieu de


    pain d'épice
    ballon
    médor
    ...


    donc je ne sais pas trop comment résoudre mon problème, modifier ma requète SQL ?

  6. #6
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    On pourrait avoir tout le code relatif à l'insertion dans la base et au traitement de ta chaine de caracteres ?

Discussions similaires

  1. Automatisation liste sans doublon
    Par mathel dans le forum Excel
    Réponses: 2
    Dernier message: 03/01/2008, 13h28
  2. Liste sans doublon
    Par marc56 dans le forum Excel
    Réponses: 5
    Dernier message: 19/12/2007, 19h22
  3. liste sans doublons
    Par doons dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/10/2007, 13h47
  4. [SQL] Liste sans doublons
    Par tchin dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 19/09/2007, 13h43
  5. [VBA-E] Liste sans doublons pour remplir cellule
    Par Currahee dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/06/2007, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo