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 :

Recherche dans une liste


Sujet :

Langage PHP

Vue hybride

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut Recherche dans une liste
    Voila le problème : J'ai un champs dans une table avec une liste du genre "toto, tata, titi, ...".

    Je m'appelle toto, j'aimerais que le script détecte si "toto" est dans la liste. Comment est-ce possible ?

    Merci d'avance...

  2. #2
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    J'utiliserais la fonction strpos() en PHP
    ou la clause LIKE dans une requête sql.
    Fred

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut
    Citation Envoyé par micetf Voir le message
    J'utiliserais la fonction strpos() en PHP
    ou la clause LIKE dans une requête sql.
    Fred
    Merci ça me met sur la voie, mais je ne parviens pas à le mettre en forme même si j'en comprends le fonctionnement.
    Si je fais ça c'est bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(strpos("toto", $table['la_liste']){

  4. #4
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Ça serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( strpos($table['la_liste'],"toto") !== false) {
        // 'toto' a été trouvé
    } else {
        // 'toto' n'a pas été trouvé
    }
    Fred

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut
    Ok mille merci !

    Et pour la suppression que de "toto" comment fais-t-on ?

    Merci en tout cas...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut
    Je me suis arrangé autrement, merci en tout cas

  7. #7
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    Citation Envoyé par micetf Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( strpos($table['la_liste'],"toto") !== false) {
        // 'toto' a été trouvé
    } else {
        // 'toto' n'a pas été trouvé
    }

    Mais cette recherche dira que toto est dans la liste si tatitoto y est aussi ("toto, tata, tatitoto, titi, ...") si je ne me trompe pas.

    Ceci semble moins performant mais gère le cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $lesNoms = split(', ', $table['la_liste']);
    if (in_array('toto', $lesNoms)) {
        // 'toto' a été trouvé
    } else {
        // 'toto' n'a pas été trouvé
    }

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut
    Il me faudrait quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($table['liste_des_noms'] contient "toto"){
    //instructions
    }
    Dans la même optique, toto va vouloir se dés-inscrire, comment l'enlever de la liste ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-Excel] Effectuer une recherche dans une liste view
    Par Miles Raymond dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2006, 18h21
  2. Imposer une methode Equals pour une recherche dans une List
    Par petozak dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/10/2006, 11h41
  3. Réponses: 2
    Dernier message: 07/07/2006, 11h00
  4. Réponses: 2
    Dernier message: 10/10/2005, 03h25
  5. Recherche dans une liste non trié
    Par Oberown dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 13/09/2004, 14h56

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