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

Zend Framework PHP Discussion :

zfdatagrid et filtre sur des dates [ZF 1.10]


Sujet :

Zend Framework PHP

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut zfdatagrid et filtre sur des dates
    Bonjour à tous

    Bon je viens aujourd'hui avec un petit problème:

    J'utilise zfdatagrid sur des données, afin de les mettre en tableau, d'avoir une pagination, un tri, un champ de recherche et une exportation en format excel,
    Zfdatagrid s'occupe très bien de tout ça

    Cependant j'ai un petit problème au niveau du filtre sur date.
    Non formaté, ça marche très bien, exemple je tape 07-25 et il me trouve bien toutes les données correspondant à cette date.

    En revanche, lorsque je formate la date, pas moyen de filtrer.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $grid->updateColumn('create', array('format' => array('date', array('date_format' => 'dd-MM-yyyy'))));
     $filters = new Bvb_Grid_Filters();
            $filters->addFilter('create', array('transform' => 'my_function'));
            $grid->addFilters($filters);
    et dans Bvb_Grid_Filters(), j'ai rajouté cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function my_function($value) {
                return date("dd-MM-yyyy", strtotime($value));
            }
    Voili voilou

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    problème toujours d'actualité.

  3. #3
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonjour,
    Sauf erreur le composant que tu évoques ici n'est pas un composant officiel de ZF.
    As tu pris la peine de poster sur le site où tu as trouvé ce composant, car c'est la première chose à faire.

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    sauf que je n'ai pas trouvé de communauté pour ce composant :/

  5. #5
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Tu n as pas du bien cherché, ce composant est sur google code, tu n'auras aucun mal à contacter les développeurs ou certains utilisateurs

  6. #6
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    oui j'avais trouvé ça, mais c'est bien ce que je dis, je ne vois pas de communauté à qui m'adresser, on dirait un support super bizarre ... rien à voir avec un forum.

  7. #7
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    ça il fallait s'en rendre compte avant, mais ici, nous ne pouvons pas t'aider surtout avec le peu d'information que tu nous as donné, nous n'allons pas nous mettre à tester un nouveau composant juste afin de pouvoir t'aider.

  8. #8
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    Ah, je pensais que mes informations suffirait, j’espérais que ce genre de composants se ressemblent tous.

    Bon bin sinon je suis un peu bloqué sur le sujet, je laisse ça de coté pour le moment.

  9. #9
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Peut être que cela pourra t'aider : http://stackoverflow.com/questions/9...id-date-format

  10. #10
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    Bon, non ça ne m'a pas aidé mais j'ai réussi tout de même comme ceci:

    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
     
    $grid->updateColumn('create', array('format' => array('date', array('date_format' => 'dd-MM-yyyy'))));
     
     $filters = new Bvb_Grid_Filters();
     
    function my_function($value) {
     
                $val = explode("-", $value);
                $count = count($val);
                switch ($count) {
                    case 1:
                        $timestamp = mktime(0, 0, 0, 0, $val[0], 0);
                        $date = date("d", $timestamp);
                        break;
                    case 2:
                        $timestamp = mktime(0, 0, 0, $val[1], $val[0], 0);
                        $date = date("m-d", $timestamp);
                        break;
                    case 3:
                        $timestamp = mktime(0, 0, 0, $val[1], $val[0], $val[2]);
                        $date = date("Y-m-d", $timestamp);
                        break;
                }
     
                //var_dump($date);
                return $date;
            }
     
    $filters->addFilter('create', array('transform' => 'my_function'));
            $grid->addFilters($filters);
    Maintenant le filtre marche bien: lorsque j'entre une date dans le filtre, il me l'a transforme en date anglaise puis applique le filtre sur la date anglaise.
    Date qui est donc sous cette forme: 2012-07-25 14:23:37
    Avec le format elle est sous celle ci:
    25-07-2012

    Par contre le seul petit problème que j'ai maintenant, c'est lorsque j'essaie de trier sur un jour, par exemple je veux afficher toutes les dates qui commencent par 25, et bien avec mon filtre actuel, cela m'affiche bien la date voulu sauf qu'il m'affiche en plus, toutes les dates qui ont le nombre 25 (donc si il y a 25 dans les minutes ... )

    mais bon ça, avec le zfdatagrid, je pense pas tellement être en mesure de l'améliorer.

    Je met en résolut.

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

Discussions similaires

  1. Création d'un filtre sur des dates
    Par Daviloppeur dans le forum AngularJS
    Réponses: 0
    Dernier message: 12/11/2014, 10h28
  2. [XL-2007] Récupérer critère de filtre sur des dates
    Par Halo2550 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/01/2014, 09h54
  3. [LDAP] Filtre sur des dates
    Par honeydew dans le forum Développement
    Réponses: 2
    Dernier message: 08/11/2010, 10h46
  4. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22
  5. Réponses: 9
    Dernier message: 17/01/2004, 10h51

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