QUERY et Date Format

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] QUERY et Date Format

    Bonjour,

    J'ai créé une requête qui fonctionne parfaitement. J'ai juste un souci avec l'affichage des dates qui s'affichent ainsi :

    du : 2016-01-10 23:00:00 | au : 2016-04-29 22:00:00

    alors que je souhaiterais qu'elle s'affichent ainsi :

    du : 10-01-2016 | au : 29-04-2016

    Ma requête :

    Code:
    $candidateid = JRequest::getVar('gprh_fabrik_user_enrollment___id');
    $db = JFactory::getDbo();
       $query = $db->getQuery(true);
       $query
          ->select (array('gprh_fabrik_user_enrollment.id', 'gprh_fabrik_user_training_124_repeat.nom_formation', 'gprh_fabrik_user_training_124_repeat.intitule_session', 'gprh_fabrik_user_training_124_repeat.session_du', 'gprh_fabrik_user_training_124_repeat.session_au'))	
          ->from('gprh_fabrik_user_enrollment')
          ->leftJoin('gprh_fabrik_user_enrollment_repeat_choix_formation ON gprh_fabrik_user_enrollment.id = gprh_fabrik_user_enrollment_repeat_choix_formation.parent_id')
          ->leftJoin('gprh_fabrik_user_training_124_repeat ON gprh_fabrik_user_enrollment_repeat_choix_formation.choix_formation = gprh_fabrik_user_training_124_repeat.id')
          ->leftJoin('gprh_fabrik_user_training ON gprh_fabrik_user_training_124_repeat.parent_id = gprh_fabrik_user_training.id')
          ->having('gprh_fabrik_user_enrollment.id = ' . $db->quote($candidateid))
    	  ->group('gprh_fabrik_user_enrollment.id, gprh_fabrik_user_training_124_repeat.nom_formation, gprh_fabrik_user_training_124_repeat.intitule_session, gprh_fabrik_user_training_124_repeat.session_du, gprh_fabrik_user_training_124_repeat.session_au');
       $db->setQuery($query);
       $row = $db->loadObjectList();
       echo "<div style='font-family: arial, helvetica, sans-serif; font-size: 11pt;'><OL>";
       foreach ($row as $item)
       {
    	   echo "<LI> $item->nom_formation | ";
    	   echo "$item->intitule_session | ";
    	   echo "du : $item->session_du | ";
    	   echo "au : $item->session_au<br /><br />";
    	   echo "</LI>";
       }
       echo "</OL></div>";
    Ce sont les deux lignes suivantes qui sont concernées :

    Code:
    	   echo "du : $item->session_du | ";
    	   echo "au : $item->session_au<br /><br />";
    Il faudrait que je puisse leur attribuer la fonction suivante :

    Code:
    setlocale(LC_TIME,"fr_FR"); strftime("%A %d %B %Y")
    mais je ne sais pas comment faire.

    Merci d'avance pour vos suggestions,

    Bonne année,

    Marc

  • #2
    Re : QUERY et Date Format

    Bonjour,

    Utiliser directement la fonction SQL DATE_FORMAT dans la requête http://www.w3schools.com/sql/func_date_format.asp
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : QUERY et Date Format

      Bonjour,
      Merci pour votre retour, j'ai essayé, mais je n'arrive pas à l'intégrer dans ma requête. Peut-être pourriez-vous me montrer comment faire ?

      Commentaire


      • #4
        Re : QUERY et Date Format

        Remplacer
        Code:
        'gprh_fabrik_user_training_124_repeat.session_du'
        par
        Code:
        'DATE_FORMAT(gprh_fabrik_user_training_124_repeat.session_du,\%d-%m-%Y\')'
        par exemple...
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : QUERY et Date Format

          Merci ! C'est ce que j'avais déjà essayé, mais cela ne fonctionne pas

          ->select (array('gprh_fabrik_user_enrollment.id', 'gprh_fabrik_user_training_124_repeat.nom_formatio n', 'gprh_fabrik_user_training_124_repeat.intitule_ses sion', 'DATE_FORMAT(gprh_fabrik_user_training_124_repeat. session_du,\%d-%m-%Y\)', 'DATE_FORMAT(gprh_fabrik_user_training_124_repeat. session_au,\%d-%m-%Y\)'))

          Commentaire


          • #6
            Re : QUERY et Date Format

            Dans ta requête il manque les ' après les \
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : QUERY et Date Format

              Envoyé par jisse03 Voir le message
              Dans ta requête il manque les ' après les \
              Merci, J'ai également essayé avec les ' après les \ mais j'ai une erreur...

              Commentaire


              • #8
                Re : QUERY et Date Format

                Quelqu'un aurait-il une solution ? Derniers essais en date qui ne fonctionnent pas :

                setlocale(LC_TIME, 'fr_FR');

                {
                echo "<LI> $item->nom_formation | ";
                echo "$item->intitule_session | ";
                echo "au : strftime('%A %d %B %Y', strtotime($item->session_du)) | ";
                echo "au : $item->session_au<br /><br />";
                echo "</LI>";
                }
                setlocale(LC_TIME, 'fr_FR');

                {
                echo "<LI> $item->nom_formation | ";
                echo "$item->intitule_session | ";
                echo "strftime('%A %d %B %Y', strtotime($item->session_du)) | ";
                echo "au : $item->session_au<br /><br />";
                echo "</LI>";
                }

                Commentaire


                • #9
                  Re : QUERY et Date Format

                  En tests directs depuis phpMyAdmin, le DATE_FORMAT SQL fonctionnne parfaitement.
                  Si même le echo strftime en fonctionne pas, il te faut regarder ailleurs, par exemple dans l'alias du champ.
                  En SQL, un
                  Code:
                  SELECT DATE_FORMAT(session_du,'%d-%m-%Y') AS session_du FROM test_data;
                  donne le résultat voulu.
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : QUERY et Date Format

                    Merci pour ton retour. Je teste également toujours dans PhpMyAdmin, le problème est que je ne sais pas comment intégrer cela dans le code de ma requête :

                    Code:
                    ->select (array('gprh_fabrik_user_enrollment.id', 'gprh_fabrik_user_training_124_repeat.nom_formation', 'gprh_fabrik_user_training_124_repeat.intitule_session', 'gprh_fabrik_user_training_124_repeat.session_du', 'gprh_fabrik_user_training_124_repeat.session_au'))
                    et plus particulièrement dans :

                    Code:
                    'gprh_fabrik_user_training_124_repeat.session_du'
                    J'ai essayé :

                    Code:
                    'DATE_FORMAT(session_du,'%d-%m-%Y') AS session_du'
                    
                    ou encore
                    
                    'DATE_FORMAT(gprh_fabrik_user_training_124_repeat.session_du,'%d-%m-%Y') AS gprh_fabrik_user_training_124_repeat.session_du'
                    sans succès.

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X