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 bdd avec filtre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut Recherche dans une bdd avec filtre
    Bonjour, je me permet de vous demandez votre aide car je dois faire un espèce de petit site de rencontre pour mon école, j'ai déjà tout fais, il ne me manque plus que la parti recherche, je dois pouvoir rechercher des membres, par loisir, sexe, age minimum et maximum et par ville, sauf que je viens seulement de commencer le php alors je suis un peu perdu, je ne sais meme pas par ou commencer, voila ce que j'ai fais
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <?php
    session_start();
        $bdd = new PDO('mysql:host:=localhost;dbname=meetic;port=3308;charset=utf8', 'root', 'root');
        $bdd->setAttribute(PDO::ATTR_ERRMODE,
            PDO::ERRMODE_EXCEPTION);
     
     
     
    ?>
     
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Document sans titre</title>
    </head>
     
    <body>
    	<h1>Recherche</h1>
    	<form method="POST" action="">
    			 <div>
            <label for="homme">Je recherche:</label>
     
                    <input type="radio" id="homme" name="sexe" value="Homme"class="radio">
    		<label for = "homme">Un homme</label>
     
     
    		        <input type="radio" id="femme" name="sexe" value="Femme"class="radio">
    		<label for = "femme">Une femme</label>
     
    		        <input type="radio" id="autre" name="sexe" value="Autre"class="radio">
    		<label for = "autre">Autre</label>
    	</div>
    			 <br>
    			 <div>
    			<label for="jeuxvideo">Par loisirs:</label>
    			<input type="checkbox" id="jeuxvideo" name="loisir" value="jeuxvideo" >
    			<label for="jeuxvideo">Jeux vidéo</label>
     
    						<input type="checkbox" id="cinema" name="loisir" value="cinema">
    			<label for="cinema">Cinema</label>
     
    						<input type="checkbox" id="lecture" name="loisir" value="lecture">
    			<label for="lecture">Lecture</label>
     
    						<input type="checkbox" id="sport" name="loisir" value="sport">
    			<label for="sport">Sport</label>
     
    						<input type="checkbox" id="informatique" name="loisir" value="informatique">
    			<label for="informatique">Informatique</label>
     
    		</div>
    			 <br>
    			 		<div>
    			<label for="naissance">age minimum :</label>
    			<input type="date" id="naissance" name="nais" value="<?php if(isset($nais)) { echo $nais; } ?>">
    		</div>
    		<div>
    			<label for="naissance">age maximum :</label>
    			<input type="date" id="naissance" name="nais" value="<?php if(isset($nais)) { echo $nais; } ?>">
    		</div>
    			 <br>
                <table>
                   <tr>
                      <td align="left">
                         <label for="nom">Par ville :</label><br><br>
                      </td>
                      <td>
                         <input type="text" placeholder="Votre nom" id="nom" name="nom" class="input" value="<?php if(isset($nom)) { echo $nom; } ?>"/><br><br>
                      </td>
                   </tr>
    			   <tr>
                      <td align="left">
                         <label for="ville">Ville :</label><br><br>
                      </td>
     
                      <td>
                         <input type="text" placeholder="ville" id="ville" name="ville" class="input" value="<?php if(isset($ville)) { echo $ville; } ?>"/><br><br>
                      </td>
                   </tr>
                   <tr>
                      <td></td>
                      <td align="left">
                         <br />
                         <input type="submit" name="forminscription" value="rechercher" /><br><br>
                      </td>
                   </tr>
                </table>
             </form>
    </body>
    </html>
    Merci beaucoup a vous pour votre aide

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par défaut
    avez-vous déjà fait les pages où les utilisateurs modifient leurs informations ?

  3. #3
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut
    Comme mathieu, pour pouvoir faire une recherche et donc créer une requête adaptée, il est nécessaire d'avoir une table où sont enregistrés les membres.
    Si jamais voici une page dans la DOC PHP qui pourra t'aider

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut
    Bonjour a vous 2 et merci oui effectivement j'ai une table ou j'ai tout les membres, j'ai déja effectuer les page de profil, modification, inscription, connexion etc... et j'aimerai donc maintenant pouvoir rechercher ses membres par filtres, par age, par sexe, par ville etc... sauf que je ne vois vraiment pas par ou commencer !

  5. #5
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut
    Sans connaitre la ou les tables que tu utilises, il sera difficile de t'aider...
    Ceci-dit, si cela peut t'aider dans ta recherche, il sera nécessaire d'utiliser LIKE pour les recherches sur ta base de données. Voici le lien pour la DOC SQL

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut
    Bonsoir, alors j'ai qu'une table inscription, avec dedans: prenom,nom,sexe,mail,ville,nais,loisir,mdp, j'aimerai pouvoir trier par age minimal et age maximum, ville sexe et centre d'interet, j'ai commencer un petit truc qui ne fonctionne pas..
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    <?php
    session_start();
    try{
        $bdd = new PDO('mysql:host:=localhost;dbname=meetic;port=3308;charset=utf8', 'root', 'root');
        $bdd->setAttribute(PDO::ATTR_ERRMODE,
            PDO::ERRMODE_EXCEPTION);
     
     
     
     
    if(isset($_SESSION['id']))
    {
    	$requser = $bdd->prepare("SELECT * FROM inscription WHERE id = ?");
    	$requser->execute(array($_SESSION['id']));
    	$user = $requser->fetch();
    	$nom = strtoupper($user['nom']);
    	$prenom = strtoupper($user['prenom']);
    	$id=($user['id']);
     
    	if (isset($_GET["sexe"]) && isset($_GET["age_min"])) {
    			$sexe = $_GET["sexe"];
        		$age_min = $_GET["age_min"];
    		$search = $bdd->prepare("SELECT * FROM inscription WHERE sexe= ? AND nais >= ?");
    		$search->execute(array($sexe, $age_min));
        			foreach ($search as $key => $item) // je parcoure chaque utilisateur
     
            		if ($item["sexe"] == $sexe && $item["age"] >= intval($age_min)) // si utilisateur courant correspond aux criteres
    						$result[] = $item; // je l'ajoute dans le tableau
    	}
    }else
    {
    	header("Location: connexion.php");
    }
    	}
    catch (PDOException $e) {
          die("Erreur de connexion à la base :".$e->getMessage());
          exit();//quitter le script
    }
     
    ?>
     
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Document sans titre</title>
    <link href="css/cssrecherche.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>  
     <script type="text/javascript">
    	$(document).ready( function () {
      $(".navigation ul.sousmenu").hide();     
     
        $(".navigation li.menu span").each( function () {
            $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + $(this).text() + '<\/a>') ;
        } ) ;   
     
        $(".navigation li.menu > a").click( function () {
     
            if ($(this).next("ul.sousmenu:visible").length != 0) {
                $(this).next("ul.sousmenu").slideUp("normal");
            }
            else {
                $(".navigation ul.sousmenu").slideUp("normal");
                $(this).next("ul.sousmenu").slideDown("normal");
            }
     
            return false;
        });    
     
    } ) ;</script>
    </head>
     
    <body>
    	<!-- Main Container -->
    <div class="container"> 
      <!-- Navigation -->
      <header> <a href="">
        <h4 class="logo">My MEETIC</h4>
        </a>
        <nav>
          <ul class="navigation">
            <li><a href="#hero">HOME</a></li>
            <li><a href="recherche.php?id=<?php echo $getid;?>">RECHERCHE</a></li>
             <li class="menu"><span><?php echo $prenom;?> <?php echo $nom;?></span>
    			 <ul class="sousmenu">
    		  	<li><a href="Profil.php?id=<?php echo $getid;?>">Mon profil</a></li>
    		 	 <li><a href="Deconnexion.php">Déconnexion</a></li>
    			 </ul>
     
          </ul>
        </nav>
      </header>
    	<h1>Recherche</h1>
    	<form method="GET">
    			 <div>
            <label for="homme">Je recherche:</label>
     
                    <input type="radio" id="homme" name="sexe" value="Homme"class="radio">
    		<label for = "homme">Un homme</label>
     
     
    		        <input type="radio" id="femme" name="sexe" value="Femme"class="radio">
    		<label for = "femme">Une femme</label>
     
    		        <input type="radio" id="autre" name="sexe" value="Autre"class="radio">
    		<label for = "autre">Autre</label>
    	</div>
    			 <br>
     
    			 <br>
    			 		<div>
    			<label for="naissance">age minimum :</label>
    			<input type="number" id="age_min" name="age_min" value="0">
    		</div>
     
    			 <br>
                <table>
     
                   <tr>
                      <td></td>
                      <td align="left">
                         <br />
                         <input type="submit" value="rechercher" /><br><br>
                      </td>
                   </tr>
                </table>
             </form>     
    <?php foreach ($result as $key => $value): ?>
                    <?= $value["name"] . ', ' . $value["sexe"] . ', ' .  $value["age"] . 'ans.' ?>
                <?php endforeach; ?>              	
    	    <!-- Footer Section -->
      <section class="footer_banner" id="contact">
        <h2 class="hidden">Footer Banner Section </h2>
        <p class="hero_header">N'ATTENDEZ PLUS, INSCRIVEZ VOUS</p>
        <div class="button"><a href="Inscription.php" id="textbutton">S'inscrire</a></div>
      </section>
      <!-- Copyrights Section -->
      <div class="copyright">&copy;2021- <strong>My Meetic</strong></div>
    </div>
     
    </body>
    </html>
    Je suis ouvert a vos suggestions merci beaucoup a ce qui m'aideront

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

Discussions similaires

  1. Autoriser la recherche dans une bdd avec des mots contenant une apostrophe
    Par Claudine dans le forum PHP & Base de données
    Réponses: 52
    Dernier message: 28/12/2017, 13h47
  2. Réponses: 2
    Dernier message: 19/11/2007, 16h53
  3. Recherche dans une BDD
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/02/2007, 08h16
  4. Réponses: 4
    Dernier message: 23/07/2006, 20h42
  5. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03

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