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 :

Avis sur façon de faire une recherche, un tri.


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Par défaut Avis sur façon de faire une recherche, un tri.
    Bonjour,

    Je souhaiterais mettre en place un système de recherche. Mon niveau en informatique est moyen alors j’en suis à me demander si ce que je désire est réalisable. Je vous explique.

    Un formulaire pour renseigner 7 tables dans la BDD.
    • Nom
    • Prénom
    • Sexe
    • Présence
    • Né le
    • Date d’arrivée
    • Date de départ


    Une page recherche.php est crée avec 7 champs de recherche, un champ pour chaque table en fait.

    Sur cette page recherche.php, je renseigne uniquement le champ prénom par « Jean ». J’ai deux « Jean » dans la BDD donc les deux « Jean » remontent. Jusque là tout va bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Id1    Jean 	Trancène	homme  	 OUI	   01/07/1990	   24/03/2019	   24/04/2019
    Id2	 Jean 	Cive 		homme 	NON	   02/08/1997	   30/04/2019	   01/05/2019
    C’est là que je me pose des questions.
    Toujours sur la page recherche.php, cette fois je renseigne deux champs, le champ prénom « Jean » et dans le champ présence je coche « OUI ». À ce moment, je souhaiterais avoir en résultat, uniquement les « Jean OUI ».
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Id2    Jean 	Trancène   homme      OUI	    01/07/1990	   24/03/2019	  24/04/2019
    Autre exemple. Sur la page recherche.php, cette fois 3 champs sont renseignés : « Jean, Homme, OUI ». Dans ce cas, je souhaiterais que seuls les « Jean Hommes OUI » soient affichés en résultat. Et ainsi de suite… J'arrête là parce qu'il y a un paquet de combinaisons possibles.

    Une recherche qui permet d’affiner les résultats suivant les champs renseignés, comme un entonnoir… Une recherche ? Un tri ?

    Je ne sais pas ce que je viens d’écrire est clair. En tous cas merci de m’avoir lu.

    Merci d'avance pour vos commentaires.

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 982
    Par défaut
    Tout d'abord attention aux termes que tu utilises:
    Un formulaire pour renseigner 7 tables dans la BDD
    C'est un formulaire pour renseigner les 7 colonnes d'une table dans une BDD.

    Ensuite pour ce qui est de ta page de recherche, ce n'est pas compliqué, il suffit de construire dynamiquement avec php la clause WHERE de ta requête SQL en fonction des champs qui ont été renseignés ou des cases qui ont été cochées. Par exemple si le champ du prénom a été rempli et la case de présence a été cochée, tu dois t'arranger pour produire la requête préparée suivante:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $query  = 'SELECT * FROM tatable WHERE prenom=:prenom AND presence=:presence';

    À noter:
    • Je ne suis pas certain qu'une case à cocher pour la présence soit une bonne idée, car dans ce cas tu ne peux pas faire la différence entre l'absence et le fait de ne pas tenir compte de la présence.
    • Plutôt que d'avoir pour id: id1, id2, etc., modifie ta colonne id pour qu'elle soit uniquement numérique (INT) avec l'option autoincrement et fais en ta clef primaire.
    • Pour ce qui est de la colonne présence, utilise le type BOOL ou TINYINT(1) à la place de OUI ou NON.

Discussions similaires

  1. avis sur façons de faire
    Par Vil'Coyote dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 28/07/2010, 14h06
  2. La meilleur façon de faire une recherche ?
    Par Jcpan dans le forum PL/SQL
    Réponses: 21
    Dernier message: 06/10/2008, 10h25
  3. Réponses: 19
    Dernier message: 12/04/2007, 15h11
  4. Réponses: 3
    Dernier message: 08/09/2006, 18h00
  5. faire une recherche sur des "
    Par richard038 dans le forum Requêtes
    Réponses: 6
    Dernier message: 24/07/2006, 22h30

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