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

PHP & Base de données Discussion :

Dire "qui contient" en php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Géomaticien
    Inscrit en
    Septembre 2012
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Septembre 2012
    Messages : 103
    Par défaut Dire "qui contient" en php
    Bonjour à tous

    Désolé de re-re-re-poser une question déjà traitée dans de nombreux forums, que j'ai été voir, mais définitivement je ne comprends pas.

    Comme dit dans le titre, je souhaite après l'enregistrement d'un formulaire, exécuter un code qui modifie des valeurs de l'enregistrement en question.
    Chose que je fais déjà très bien dans le même formulaire avec des condition du type "égal à" (==) ou "différent de" (!=). Ça marche très bien.
    Oui mais là, je souhaite dire "qui contient" !!! Arf

    J'ai essayé de nombreuses syntaxes, avec des pre_match, ereg, strpos... d'autres encore!

    J'explique en gros :

    - J'ai un champ disons "organisme", contenant des noms d'organismes, 8 maximum, chacun entouré de guillemets, séparé de virgules, le tout entre crochets, sans accent mais avec des majuscules.
    - Je veux modifier d'autres champs en fonction de la présence ou non de certains organismes dans le champ "organisme".
    - Exemple avec preg_match ("variable1" est le champ "organisme") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (preg_match($variable1, 'Organisme A') !== false ) 
    {
      code à exécuter;
    }
    Pouvez-vous m'aider ? Merci !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut consulter la doc.
    Les arguments de preg_match() sont dans l'ordre sens : preg_match(recherche, chaine)
    Cependant comme indiqué dans la doc toujours, pour faire une simple recherche strpos() est plus rapide/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Géomaticien
    Inscrit en
    Septembre 2012
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Septembre 2012
    Messages : 103
    Par défaut
    J'ai testé str_pos avec ça ("$variable1" est le champ "organisme") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $cherche = 'Organisme A';
     
    if (strpos($variable1, $cherche) === FALSE ) 
    {
      code à exécuter
    }
    Mais sans succès

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne sais pas si c'est fait expres mais tu as mis ta condition dans le sens "pas trouvé" (=== FALSE).

    Sinon que vaut $variable1 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Géomaticien
    Inscrit en
    Septembre 2012
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Septembre 2012
    Messages : 103
    Par défaut
    Oui ce sens là, c'est fait exprès.

    "$variable1" est un champ qui peut contenir par exemple ce genre de chose :

    ["Organisme A","Organisme B","Organisme C"]

    ou encore seulement :

    ["Organisme B"]

    Any idea ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Cela signifie que $variable1 ne vaut pas ["Organisme A","Organisme B","Organisme C"]

    Tu n'aurais pas un htmlentities() dans ton insertion dans la bdd ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/06/2009, 09h59
  2. Réponses: 1
    Dernier message: 28/01/2008, 12h21
  3. Double quote qui viennent de nulle part
    Par mioux dans le forum Coldfusion
    Réponses: 4
    Dernier message: 26/04/2007, 13h42

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