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 :

recherche dans une BD apartir d'un textbox


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut recherche dans une BD apartir d'un textbox
    salut
    j ai une table client qui contient 3 attribut (id,nom,adresse)
    je veux que apartir d'une donnee d'un champ de text que l'utilisateur a saisie
    ma page va afficher l'enregestrement entier liee au champ de text?

    exempl
    (le nom de champ de text=a)

    1.syntaxe

    select *
    from client
    where nom=@a

    2.syntaxe
    select *
    from client
    where nom=&a

    je cherches une syntaxe correcte parce que j ai essaye les deux ...pas de resultat 0 ;
    merci

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut
    Salut,

    si j'ai bien compris tu veux récupérer une entrée.

    Donc quelques chose de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    include("connection_a_la_bd.php");
    // Test si une variable nom est envoyé
    if (isset($_POST['nom']))
    {
       $nom = mysql_real_escape_string($_POST['nom']); // Eviter les injections SQL
       $requete="SELECT * from table where nom= '$nom'";
       $execute = mysql_query($requete,$basededonne);
       $reponse = mysql_fetch_assoc($execute)
     
       // Utiliser les champs de la réponse :
       echo $reponse['nom'] ;
    }
    Evidement avec une base de donnée mysql, la syntaxe change un petit peu pour les autres bases de données mais tu devrais pas avoir trop de mal à trouer les équivalents.

    Cordialement Manticore

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Comme il s'agit d'une recherche sur UN mot dans UNE chaine (comportant donc plusieurs mots), essaye plutot ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT ... WHERE danscettechaine LIKE '%".mysql_real_escape_string($ceMot)."%';"
    En clair : on recherche les enregistrements où la chaine "danscettechaine" comporte le mot "$ceMot".

    - % ("pourcent") remplace n'importe quelle chaîne de caractères, y compris la chaîne vide.
    - _ ("underscore") remplace un et un seul caractère.
    Voir Opérateur LIKE
    Dernière modification par Invité ; 05/07/2011 à 08h40.

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut
    salut tt le monde , merci pour vos reponses,
    j ai essaye ce code mais j obtien ERREUR en ligne 119 (ligne de boucle while)
    pouviez vous m'aider a resourdre ce probleme .
    merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    (abc c'est le nom de textfield);
     
    if (isset($_POST['abc'])){
    }
    	mysql_select_db($database_cnx3, $cnx3);
       $nom = mysql_real_escape_string($_POST['abc']); 
       $requete="SELECT * from client where nom like '$nom'";
       $execute = mysql_query($query_r3, $cnx3) or die(mysql_error());
       $reponse = mysql_fetch_assoc($execute);
     
       // Utiliser les champs de la réponse :
     
     
       while($res=mysql_fetch_array($requete)){
      		echo $res['id_cl']." - ".$res['nom'];
       }
    ?>

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Si tu veux que ta recherche aille un peu plus loin je te suggère les index fulltext.

    Ah et puis

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    Coucou,

    moi j'utilise ce mode de connexion que je trouve plus claire et plus simple à utiliser. J'ai essayé de l'adapter à ce que tu voulais mais avant il faut que tu inscrives les informations pour la connexion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    //connexion à la base de données
    	try
    	{
    		$bd = new PDO('mysql:host=localhost;dbname=NomBDD','Login','Mot de passe');
    	}
    	catch (Exception $e)
    	{
    	//
    		echo "<br/>Erreur lors de l'etablissement de la connexion  : ".$e->getMessage();
    	}
     
    	//recupérer la valeur à rechercher
       $nom = $_POST['abc'];
     
       //Exécuter une requete de recherche
       $requete= $bd-query('SELECT * from client where nom like "%' . $nom . '%"');
     
       //Récupérer la réponse
       while($res = $requete->fetch()){
      		echo $res['id_cl']." - ".$res['nom'];
       }

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ps :

Discussions similaires

  1. [XL-2013] Recherche dans une listbox à partir d'un textbox ou optionbutton
    Par keithingel dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/11/2014, 15h36
  2. Réponses: 0
    Dernier message: 04/07/2014, 08h18
  3. Réponses: 1
    Dernier message: 23/10/2009, 18h49
  4. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49
  5. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10

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