Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête avec fonction DATE_FORMAT

    29 août 2010 à 21:32:22

    Bonjour,

    Le code suivant est censé filtrer par année de publication les résultats de la requête suivante :

    <?php $DATE_PUBLICATION= (iSset($_GET['date_publication']) ? $_GET['date_publication'] : null);
    
    $select_livre = "SELECT L.TITRE AS titre, L.ID_LIVRE AS id_livre,
    DATE_FORMAT(L.DATE_ACHAT,'%Y')AS date_achat,DATE_FORMAT(L.DATE_PUBLICATION,'%Y')AS date_publication,DATE_FORMAT(L.DATE_LECTURE,'%Y')AS date_lecture, L.miniatures AS miniatures,
    ED.NOM_EDITEUR AS editeur,ED.ID_EDITEUR AS id_editeur,LIB.NOM_LIBRAIRIE AS librairie,LIB.ID_LIBRAIRIE AS id_librairie, L.RESUME AS resume, L.STATUT_LECTURE AS statut_lecture
    
     
    FROM LIVRE L
    INNER JOIN EDITEUR ED		
    ON ED.ID_EDITEUR = L.ID_EDITEUR	
    
    INNER JOIN LIBRAIRIE LIB		
    ON LIB.ID_LIBRAIRIE = L.ID_LIBRAIRIE";
    
    if ( $DATE_PUBLICATION != null) { 
    $select_livre  .= " WHERE DATE_FORMAT(L.DATE_PUBLICATION,'%Y')LIKE %'".$DATE_PUBLICATION."%'";
    
    $resultat_livre = mysql_query($select_livre)or die('Erreur SQL !'.$select_livre.'<br>'.mysql_error());
    
    ?>
    


    Mais le filtrage ne fonctionne pas (tous les résultats sont retournés). Cela vient-il du .= WHERE ? Merci de vos avis sur la question.
    • Partager sur Facebook
    • Partager sur Twitter
      30 août 2010 à 9:59:54

      Bonjour,

      Pour ton WHERE en effet, j'aurais plutôt fait <?php "[...] LIKE '%"..$DATE_PUBLICATION."%' [...]" ... =)
      • Partager sur Facebook
      • Partager sur Twitter

      Requête avec fonction DATE_FORMAT

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown