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

Requêtes MySQL Discussion :

Probléme de la fonction IFNULL


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 49
    Par défaut Probléme de la fonction IFNULL
    Bonjour,
    je veux essaier d'extraire tous les données d'une table de la base selon une date avec la fonction IFNULL, mais qunad le 1er parametre de la fonction est null, la requete ne retourne rien,pas contre si la date saisie elle retourne le resultat
    voici ma requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT v.idorg, o.nomorg
    FROM vignette v 
    LEFT JOIN organisme o ON ( v.idorg = o.idorg ) 
    where  (v.datevg between ifnull('".$_POST['dated']."',v.datevg ) and ifnull('".$_POST['datef'].",v.datevg);
    je veux quand le 1er champ est vide ou le 2eme champ ,la requete retourne toutes les dates de la table.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 30
    Par défaut
    La fonction ifnull teste le premier paramètre ; si ce dernier est vrai, elle renvois le second, sinon le troisième qui est manquant dans ta requête.

    tu peux résoudre ton problème en php de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $req = "SELECT v.idorg, o.nomorg"
    	. " FROM vignette v"
    	. " LEFT JOIN organisme o ON ( v.idorg = o.idorg )";
    if($_POST['dated'] != '' && $_POST['datef'] != '')
    {
    	$req .= "WHERE  (v.datevg BETWEEN '" . $_POST['dated'] . " AND '" . $_POST['datef'] . "'";
    }
    ?>
    qui a le mérite de simplifier la requête si une des dates n'est pas renseignée.

Discussions similaires

  1. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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