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 par mot clés - Php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut Recherche par mot clés - Php
    Bonjour,

    J'ai crée un site de locations de vacances.
    A ce jour , j'ai plus de 1 000 inscrits.

    J'aimerai mettre en place un syteme de recherche par mot clés sur
    deux champs de ma table: "nomGite" et "descriptifGite"

    Graca a cette recherche, la requete me retournerai tous les enregistrements avec les mots clés recherchés.

    J'espere avoir été clair.

    Merci de votre aide.

    Pod

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Points : 3 522
    Points
    3 522
    Par défaut
    Oui et ?
    quel est le problème ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    En fait j'aimerai faire un formulaire sur ma page d'accueil et en fonction des mots clés, ca me renvoi tous les enregistrements de ma table.

    Je ne sais pas mettre en place cette requete et l'associé à mon formulaire.

    Je suis débutant, soyez indulgent

  4. #4
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    essaies d'être plus précis sur ce que tu veux

    tes mots clés, tu veux une listbox ? avec une liste prédéfinie ou lue dans tes champs de base de données ? ou dans un champ texte où l'utilisateur mets ce qu'il veut ? on doit pouvoir faire une recherche sur les 2 champs en même temps ou sur un seul à la fois ? ....
    Dia [ Page DVP ] [ Site pro ]

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Ecuse moi de ne pas avoir été précis.
    Je veux en fait une recherche sur un champ texte ( recherche sur 2 mots clés) et le bouton envoie permettra de sortir tous les enregistrements de ma base.

    Cette rechercher portera sur2 champs de ma base:
    nomGite et descriptifGite

    MErci de votre aide

  6. #6
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    faut chercher les 2 mots dans chacun des 2 champs de la table (2 mots à chercher dans nomGite et 2 mots à chercher dans descriptifGite) ?

    ou faut chercher un mot dans chaque table (le premier mot dans nomGite et le deuxième dans descriptifGite) ?

    dans tous les cas, c'est plus simple d'avoir 2 input text, un pour chaque mot à chercher
    (à moins que y ait une fonction toute faite qui nous sort les 2 mots dans un tableau à partir du contenu d'un seul input text par exemple m'enfin ça, faudra attendre que quelqu'un de plus érudit passe par là)
    Dia [ Page DVP ] [ Site pro ]

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Je vais essayé de fair plus simle.
    Je voudrais seulement rechercher un mot clé dans un champ texte dans une seul champ de ma base mysql

    Merci pour l'aide

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 128
    Points
    128
    Par défaut
    tu dois faire une requete sql ou tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM ta_table WHERE champ_dans_base LIKE '%" .$motdetonform. "%'";
    tu dois récupérer le contenu de ton formulaire avant avec la methode $_Post

    bon faut l'adapter... il faut récupérer le mot inscrit dans ton formulaire.

    moi je le ferais comme ca. mais je ne suis pas sur a 100%

  9. #9
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="afficher_resultat.php" method="post" enctype="multipart/form-data">
    <input type="text" name="mot_cle">
    <br />
    <input type="submit" value="chercher">
    </form>
    traitement :

    <?php
    $mot_cle
    = $_POST['mot_cle'];

    if (
    '' == $mot_cle) {
    echo
    'Veuillez saisir un mot à chercher';
    }
    else {

    $id_connec = mysql_connect('serveur', 'utilisateur', 'mot de passe') or die ('échec connexion serveur');

    mysql_select_db('nom de la BdD', $id_connec) or die ('échec sélection BdD : ' . mysql_error());

    $resultat = mysql_query("select * from `nom de la table` where `nom du champ` like '%$mot_cle%'", $id_connec) or die ('échec requête ' . mysql_error()); // t'es pas obligé de mettre *, précises quels champs tu veux récupérer si tu les veux pas tous

    while ($enregistrement = mysql_fetch_array($resultat)) {
    // affichage et mise en forme des différents champs que tu veux montrer
    }
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

    fait rapidos, testes et dis moi ce qui foire (partons réalistes )
    Dia [ Page DVP ] [ Site pro ]

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Bonjour Ca a l'air de marcher mais pour l'instant ca ne me retourne rien.
    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
     
    <?php
    $mot_cle = $_POST['mot_cle'];
     
    if ('' == $mot_cle) {
    echo 'Veuillez saisir un mot à chercher';
    }
    else {
     
    $id_connec = mysql_connect('.', '', '') or die ('échec connexion serveur');
     
    mysql_select_db('', $id_connec) or die ('échec sélection BdD : ' . mysql_error());
     
    $resultat = mysql_query("select * from `gites` where `descriptionGite` like '%$mot_cle%'", $id_connec) or die ('échec requête ' . mysql_error()); // t'es pas obligé de mettre *, précises quels champs tu veux récupérer si tu les veux pas tous
     
    while ($enregistrement = mysql_fetch_array($resultat)) {
    // affichage et mise en forme des différents champs que tu veux montrer
     
    }
    }
    ?>
    Je ne sais pas comment afficher mon champ description gite:
    else {

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    while ($enregistrement = mysql_fetch_array($resultat)) {
    // affichage et mise en forme des différents champs que tu veux montrer
    $descriptionGite
    }
    J'ai essayé de metre $descriptionGite mais ca m'affiche pas les valeurs du champ descriptionGite.

    Merci de votre aide

  11. #11
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    j'ai répondu à ton MP

    pour ceux qui passent et que ça intéresse, la solution :

    poser echo $enregistrement['descriptionGite'] . '<br />'; dans le while pour faire une liste toute simple
    Dia [ Page DVP ] [ Site pro ]

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

Discussions similaires

  1. [MySQL] Créer un moteur de recherche par mots clés rapide PHP
    Par MaitreTsiang dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 30/11/2009, 09h28
  2. Recherche par mot clés - Php -Mysql
    Par pod1978 dans le forum Requêtes
    Réponses: 8
    Dernier message: 22/09/2006, 13h01
  3. [MySQL] recherche par mots clés
    Par spartan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/02/2006, 16h11
  4. [Tableaux] Moteur de recherche par mot clés
    Par Nee dans le forum Langage
    Réponses: 4
    Dernier message: 20/01/2006, 11h30
  5. Recherche par mots clés
    Par legillou dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/06/2005, 10h56

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