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 :

Moteur de recherche pour afficher une ligne en fonction de plusieurs mots clefs


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut Moteur de recherche pour afficher une ligne en fonction de plusieurs mots clefs
    Bonjour tout le monde,

    Voila je suis bloquée sur un projet car je voudrais récupérer une ou plusieurs ligne (en fonction des mots rechercher) de ma BDD en faisant une recherche de mots clefs par le back office.
    J'explique plus en détaille.
    Voila j'ai une table ville_francaise qui à plusieurs lignes et plusieurs colonnes (id_ville_francaise, code_dpt , code_commune, code_nature_voie, libelle_voie et nom), dans cette table, j'aimerais dire : je recherche par rapport à l'id, au code dpt, code commune et libelle voie et quand fonction de ces mots clefs, je puisse ressortir que les lignes (toute la ligne) où ces mots clefs sont présent (en plus j'aimerais que ces mots clefs ressorte en gras dans les lignes) donc voici mon coté back office :

    Nom : BDD.PNG
Affichages : 247
Taille : 92,3 Ko



    Voici comment j'ai fait mon formulaire :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <form method="post">  <!-- Formulaire pour permettre la recherche par mot clef  -->
    <br>
    <table>
     
    	<td>
     
    		<tr><!-- ID  -->
    			<label for="search">Recherche par ID</label>
    	      		<input id="ID" type="text" name="recherche">
    	    </tr>
    	    <br>
     
    		<tr> <!--  CODE DPT  -->
    			<label for="search">Recherche par départementale</label>
    	        	<input id="departementale" type="text" name="recherche">
    	    </tr>
    	    <br>
     
    		<tr> <!--  CODE COMMUNE  -->
    			<label for="search">Recherche par commune</label>
    	        	<input id="commune" type="text" name="recherche">
            </tr>
            <br>
     
    		<tr> <!--  CODE LIBELLE VOIE  -->
    			<label for="search">Recherche par le libellé de la voie</label>
            		<input id="libelle_voie" type="text" name="recherche">
            </tr>
            <br>
     
    		<tr>
    	        <input type="submit" name="search" value="Rechercher">
    	        	<input type="submit" name="reset" value="Réinitialiser">
    	    </tr>
    	    <br>
     
    	</td>
    </table>
    </form>
    Ensuite j'ai fait mon code php de la façon suivante et je pense que je ne fais pas du tout de la bonne façon :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <!-- Code pour lié le formulaire et la BDD afin de permettre une réponse -->
    <?php
     
    // Récupération de la BDD et de la table 
    	if(isset($_POST['search'])){
    			    $_SESSION['search']=$_POST['search'];
    			    $requete=$this->pdo->query( ' SELECT * FROM ville_francaise = '.$_SESSION['search']);
    				$reponse=$requete->fetch();
     
     
     
    //  Récupération de l'id (1er mot clef)
    		if(isset($_SESSION['search'])){
    		    	$reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$ville.'='.$_SESSION['search']);
    		    	echo 'id_ville_française';
    		}
     
    //  Récupération du code départemantal  (2 ème mot clef) 
    		if(isset($_SESSION['search'])){
    		    	$reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$code_dpt.'='.$_SESSION['search']);
    		}
     
    //  Récupération du code de la commune (3 ème mot clef) 
    		if(isset($_SESSION['search'])){
    		    	$reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$code_commune.'='.$_SESSION['search']);
    		}
     
    //  Récupération du libellé de la voie (4 ème mot clef)
    		if(isset($_SESSION['search'])){
    		    	$reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$libelle_voie.'='.$_SESSION['search']);
    		}
     
    	}
     
     
    ?>
    Ici vous pouvez voir que mon 1er if entour tous les autres.

    Ca fait 4 jours que j'essaie de trouver une solution pour ressortir les lignes voulus par rapport à ces morceaux de code et rien ne se passe. Je commence à désespérer, car je devrais finir ca demain et c'est loin d'être le cas pour le moment.
    J'espère qu'une personne pourra m'aider car là je suis complètement bloquée.

    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 que tu donnes un "name" différent à tes champs de recherche, sinon tu ne peux pas savoir à quoi ils correspondent.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il faut que tu donnes un "name" différent à tes champs de recherche, sinon tu ne peux pas savoir à quoi ils correspondent.

    Bonjour,
    Merci de ta réponse.
    Mais étant donné que j'ai mes id qui sont différents (ce qui me permet de savoir a quoi correspond mes codes) je voulais laisser mon "name" pareil pour me rappeler que c'est pour le formulaire de recherche.

  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 parlais d'un point de vue PHP. PHP ne connait pas les "id" seulement les "name".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Ah d'accord ! Bon je vais changer ca !

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    J'ai bien changé les name mais j'ai toujours rien qui ce passe !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/06/2015, 13h22
  2. Afficher 5 lignes en fonction d'un mot recherché
    Par ALaurent22 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2012, 13h18
  3. [XL-2010] Formule pour recopier une ligne en fonction d'un critère
    Par odsen.s dans le forum Excel
    Réponses: 2
    Dernier message: 01/07/2010, 15h38
  4. [MySQL] Simple moteur de recherche qui retourne aucun résultat si plus de 1 mot clef
    Par yule dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/06/2010, 20h17
  5. Commande pour afficher une ligne sur 2
    Par toxycyty dans le forum Linux
    Réponses: 2
    Dernier message: 08/10/2008, 15h30

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