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 :

Formulaire de recherche


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Par défaut Formulaire de recherche
    Bonjour,

    Je suis encore néophyte en ce qui concerne php, et je dois faire un formulaire de recherche qui donne le résultat à partir d'un choix de check box (1, 2 ou 3 critère par date, par heure et/ou par salle). et je ne sais pas comment insérer ces critère de recherche dans ma requete sql...
    devrais je mettre des condition en php avant dexécuter tel ou tel requete? un switch case peut etre utile, il me faut juste la syntaxe pour les check box pour que je sache quel requete mettre sachant que j'ai la page recherche en format HTML ????

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Une idée serait de construire la clause where en fonction des champs renseignés pour la recherche.

    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $clause='1=1';
    if(isset($date))
    {
      $clause.=' and champ_date ="'.$date.'"';
    }
     
    if(isset($nom))
    {
      $clause.=' and champ_nom ="'.$nom.'"';
    }
     
    $requete="select .... from ... where ".$clause;

  3. #3
    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
    La même mais sans le trucage du 1=1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if ($_POST['checkbox_salle2']) {
       $condifion[] = "salle = 2";
    }
    if ($_POST['checkbox_date3']) {
       $condition[] = "date = 3";
    }
    $condition_sql = implode ($condition," AND ");
     
    $sql = 'SELECT colonnes from table'.
     
    if ($condition_sql) {
       $sql .= ' WHERE ' . $condition_sql
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Tout à fait d'accord,
    la requête va être construite en fonction des champs saisis.

Discussions similaires

  1. Formulaire de recherche multitables
    Par SpyesX dans le forum Access
    Réponses: 7
    Dernier message: 24/11/2005, 11h50
  2. [MySQL] Formulaire de recherche PHP + un script d recherche en HTML
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/11/2005, 19h44
  3. alléger un formulaire de recherche
    Par jarod71 dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2005, 11h11
  4. Réponses: 3
    Dernier message: 20/10/2005, 12h42
  5. Réponses: 5
    Dernier message: 18/10/2005, 14h09

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