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 :

Récupération de valeurs de Formulaire via $_POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de GarGamel55
    Profil pro
    Inscrit en
    Août 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 154
    Par défaut Récupération de valeurs de Formulaire via $_POST
    Bonjour,

    Je récupère la valeur saisie dans un formulaire pour ensuite extraire des informations de ma base de données.
    Pas de problème si seulement une valeur à été saisie, mais lorsque que je rentre 2 mots, la requête ne passe pas.

    Je ne sais pas comment modifier mon code pour qu'il prenne en considération plusieurs mots (ET,OU).

    Mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action = "rec2.php" method="post">
    Mots clés : <input type = "text" name = "nom"><br />
    <input type = "submit" value = "Envoyer">
    </form>
    Ma requête de récupération :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    require("secure/connect.php");
    $rec=$_POST['nom'];
    $sql=mysql_query("SELECT * FROM fiche WHERE titre LIKE '%$rec%'") or die (mysql_error());
    while ($donnees=mysql_fetch_array($sql) or die (mysql_error()))
    	{
    		echo $donnees['titre'].'<br>';
    	}
    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Il faut que tu décomposes la valeur saisie, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $valeurs = explode(' ', $_POST['mavar']);
    par exemple, et ensuite que tu bidouilles ta requete pour intégrer des clauses where. De là il y a plein de stratégies, plusieurs clauses like, gestion des mots clefs ET, OU, etc... De quoi bricoler un petit peu [/code]

  3. #3
    Membre confirmé Avatar de GarGamel55
    Profil pro
    Inscrit en
    Août 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 154
    Par défaut
    ok merci,

    Donc si je comprends bien si je rentre 2 mots clés :
    "tarte citron" la fonction explode les séparent en tarte et citron

    mais comment je les récupère pour les intégrer à ma requete ?

    car dans mon code je n'ai qu'une seule variable $rec ?

    Merci


  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut
    Ben tu récupères un tableau avec chaque mot à l'intérieur, puis dans ta requête SQL tu met qqch du genre :

    ... WHERE monchamp = "%tab[1]%" OR (ou AND) monchamp = "%tab[2]%"

    OR si tu veux que le résultat de la requête sorte tout les résultats avec un mot et tout les résultats avec l'autre
    AND si tu veux sortir seulement les résultats avec les deux mots dans "monchamp"

    Remarque : tu devra composer ta requête dynamiquement en comptant le nombre d'élément du tableau que t'as retourné l'explode. Ca devrait pas poser trop de problème...

  5. #5
    Membre confirmé Avatar de GarGamel55
    Profil pro
    Inscrit en
    Août 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 154
    Par défaut
    ok je vois pour la requête ensuite,

    mais c'est pour la récupération après l'explode que j'ai du mal
    Car je peux avoir de 1 à n mots entrés et je n'arrive pas à les transformer automatiquement en $var[1] à $var[n]

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut
    Citation Envoyé par GarGamel55
    ok je vois pour la requête ensuite,

    mais c'est pour la récupération après l'explode que j'ai du mal
    Car je peux avoir de 1 à n mots entrés et je n'arrive pas à les transformer automatiquement en $var[1] à $var[n]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array explode ( string separator, string string [, int limit])
    Voici la syntax de explode. Les paramètre sont connu mais le retour est un tableau. Donc lorsque le tableau est récupérer tu fais un "count" pour connaitre le nombre d'élément et tu fais une boucle du nombre d'élément pour créer ta requête.

Discussions similaires

  1. Récupération des valeurs du formulaire
    Par Jumper1991 dans le forum Langage
    Réponses: 9
    Dernier message: 28/03/2015, 06h53
  2. récupération de valeur dans un sous-formulaire
    Par Sebastien_INR59 dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 11h48
  3. récupération de valeur formulaire
    Par Nowhere dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2006, 17h32
  4. Réponses: 3
    Dernier message: 16/01/2006, 11h34
  5. récupération de valeur d'un formulaire
    Par greg64 dans le forum Langage
    Réponses: 5
    Dernier message: 18/10/2005, 17h03

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