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

Langage PHP Discussion :

pb de requete ?


Sujet :

Langage PHP

Vue hybride

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Par défaut pb de requete ?
    Bonjour !

    je cherche a afficher que les evenments dont le champ date_fin est plus grande ou égale à la date actuelle (c'est a dire les evenements futur)
    sachant que mon champs date_fin est de type date (0000-00-00)
    pb ca m'affiche tous les evenements, meme ceux avec une date-fin du par ex: 2010-07-17
    la comprends vraiment pas ???
    voici mon code et ma requete :

    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
    <?php
    $date_actuelle = date('Y-m-d');
     
    $reponse = $bdd->query("SELECT *
    FROM evenement
    JOIN jointure_evenement_prof
    ON evenement.id_evenement = jointure_evenement_prof.idEvenement
    JOIN prof
    ON jointure_evenement_prof.idProf = prof.id_prof
    WHERE date_fin >= $date_actuelle
    ORDER BY date_debut
    ") or die(print_r($bdd->errorInfo())); //requete
     
    while ($donnees = $reponse->fetch())
    {
    ?>
    <p><?php echo $donnees['date_fin'];?></p>
    <?php
    }
    ?>
    et voici mes tables :

    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
    CREATE TABLE IF NOT EXISTS `evenement` (
      `id_evenement` int(11) NOT NULL AUTO_INCREMENT,
      `titre` varchar(250) NOT NULL,
      `date_creation` datetime NOT NULL,
      `id_type_evenement` tinyint(4) NOT NULL,
      `date_text` text NOT NULL,
      `date_courte` varchar(200) NOT NULL,
      `date_debut` date NOT NULL,
      `date_fin` date NOT NULL,
      `adresse` tinytext NOT NULL,
      `cpostal` mediumint(5) unsigned NOT NULL,
      `ville` varchar(50) NOT NULL,
      `renseignements_inscription` text NOT NULL,
      `bulletin_inscription_pdf` varchar(100) NOT NULL,
      `url_bulletin_inscription` text NOT NULL,
      `text_court` text NOT NULL,
      `text` text NOT NULL,
      PRIMARY KEY (`id_evenement`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=83 ;
     
    CREATE TABLE IF NOT EXISTS `jointure_evenement_prof` (
      `idJointureProfEvenement` smallint(6) NOT NULL AUTO_INCREMENT,
      `idProf` tinyint(4) NOT NULL,
      `idEvenement` tinyint(4) NOT NULL,
      PRIMARY KEY (`idJointureProfEvenement`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=68 ;
     
    CREATE TABLE IF NOT EXISTS `prof` (
      `id_prof` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
      `nom` varchar(30) NOT NULL,
      `prenom` varchar(40) NOT NULL,
      `ecole` varchar(50) NOT NULL,
      `adresse_cours1` text NOT NULL,
      `url_plan_adresse_cours1` text NOT NULL,
      `adresse_cours2` text NOT NULL,
      `url_plan_adresse_cours2` text NOT NULL,
      `adresse_cours3` text NOT NULL,
      `url_plan_adresse_cours3` text NOT NULL,
      `tel` varchar(80) NOT NULL,
      `mail` varchar(50) NOT NULL,
      `site_web` varchar(50) NOT NULL,
      `cours` text NOT NULL,
      `formation` text NOT NULL,
      `enseignement` text NOT NULL,
      `federation` text NOT NULL,
      `cheminement` text NOT NULL,
      PRIMARY KEY (`id_prof`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=71 ;

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "SELECT *
    FROM evenement
    JOIN jointure_evenement_prof
    ON evenement.id_evenement = jointure_evenement_prof.idEvenement
    JOIN prof
    ON jointure_evenement_prof.idProf = prof.id_prof
    WHERE date_fin >= $date_actuelle
    ORDER BY 'date_debut'
    "
    comme ca

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Par défaut
    est-ce bien ca tu as juste ajouté les quote
    en effet ca change mon classement mais en rien mes résultats ceux passées sont toujours affiché
    les quote servent a quoi au juste? merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    c lundi je suis fatigué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    "SELECT *
    FROM evenement
    JOIN jointure_evenement_prof
    ON evenement.id_evenement = jointure_evenement_prof.idEvenement
    JOIN prof
    ON jointure_evenement_prof.idProf = prof.id_prof
    WHERE date_fin >= '".$date_actuelle.'"
    ORDER BY date_debut
    "
    comme ça exactement les guillemets servent pour que mysql interprète correctement ton date_actuelle sinon il le prendras pour un int

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Par défaut
    donc tu veux faire une concaténation
    mais j'ai mis ce que tu m'as dis '".$date_actuelle.'" mais erreur
    donc jai mis "'.$date_actuelle.'" encore erreur !
    puis '.$date_actuelle.' plus d'erreur mais il affiche encore les dates passée
    et enfin '".$date_actuelle."' plus d'erreur mais il affiche encore les dates passée

    ca devient dur dur

  6. #6
    Membre éclairé Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Par défaut
    Bonjour,

    La concaténation de bool64 est presque juste il faut bien mettre les double et les simples quotes dans cet ordre.
    C'est à dire que les simples sont interprétés comme faisant parti de la requête, alors que les doubles ne servent qu' à séparer les éléments de la chaîne concaténée.
    C'est normal donc que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "'.$date_actuelle.'" = erreur

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

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  3. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  4. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43
  5. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22

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