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 :

Ignorer les champs vides dans une requête sql [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 36
    Points : 24
    Points
    24
    Par défaut Ignorer les champs vides dans une requête sql
    j'ai une requête du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $sql = "SELECT NOM,PRENOM,DATE_NAISS,VILLE FROM CLIENT  WHERE NOM like '%".$_POST['NOM']."%' AND PRENOM like '%".$_POST['PRENOM']."%'AND  DATE_NAISS like '%".$_POST['DATE_NAISS']."%'
       AND  VILLE like '%".$_POST['VILLE']."%'" ;
    celle-ci me permet de récupérer les résultats d'une recherche et les affiche dans un tableau , mon problème est quand j’exécute la requête , si par exemple je ne remplis pas tous les champs, quand je fait ma recherche dans le résultat je ne dois pas avoir les résultat des autres like dans ma requête , donc ignorer les champs vides???

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Avant tout BONJOUR...

    Tu peux lorsque tu vérifie si tes variables POST sont remplies modifier ta requête pour qu'elle corresponde à ce que tu attends.

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //En supposant que au moins un champs est saisie!!!
    $sql = "SELECT NOM,PRENOM,DATE_NAISS,VILLE FROM CLIENT  WHERE";
     
    if(!empty($_POST['NOM']){
        $sql = $sql . "NOM like '%".$_POST['NOM']."%'";
    }
    //...à compléter
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Merci

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    j'ai en travaillé le code, et à la fin ça a donné ça :

    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
    $premier=true; 
       $sql = "SELECT NOM,PRENOM,DATE_NAISS,VILLE FROM CLIENT  WHERE"; 
          if(!empty($_POST['NOM'])){
              if ($premier==true){
                $sql= $sql. " NOM like  '%".$_POST['NOM']."%'";
                    $premier=false;}
              else  $sql= $sql. " and NOM like '%".$_POST['NOM']."%'";
            }
     
          if(!empty($_POST['PRENOM'])){
              if ($premier==true)
                {  $sql= $sql. " PRENOM like '%".$_POST['PRENOM']."%'";
                    $premier=false;}
              else  $sql= $sql. " and  PRENOM like '%".$_POST['PRENOM']."%'";
            }
            // ...
    et ça fonctionne bien merci

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

Discussions similaires

  1. Problème de champ vide dans une base sql
    Par lionel256 dans le forum VB.NET
    Réponses: 13
    Dernier message: 16/04/2008, 17h07
  2. Insérer des champs vides dans une requête sql
    Par js8bleu dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/02/2008, 15h00
  3. Afficher les mois vides dans une requête
    Par Nessie37 dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 04/12/2007, 14h35
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02

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