Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-12-2009 09:45:21

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

les dates avec populate

J'ai un formulaire et les dates je les gére de la façon suivantes:

j'ai mis trois select pour jour,mois et année

ensuite dans le controleur je les concatene avant de les mettre dans la base mysql(format annee-mois-jour)

aucun probleme à ce niveau

Alors lorsque je met une action qui permet de modifier cette formulaire alors j'utilise populate qui prend les données de la table et donc(la date vient avec le format mysql) de ce fait dans mon controleur j'ai des problemes parce que la date vient avec un format inattendu

Hors ligne

 

#2 08-12-2009 15:18:47

yvann
Membre
Date d'inscription: 24-07-2008
Messages: 81

Re: les dates avec populate

Si tu concatènes les données de ton formulaire pour l'enregistrement, il faut évidemment "parser" la concaténation pour en séparer les éléments.

Hors ligne

 

#3 08-12-2009 15:20:36

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

stp soit plus claire je comprends pas bien ce que tu veux dire

Hors ligne

 

#4 08-12-2009 16:03:29

Willmore
Membre
Lieu: Savigny Le Temple
Date d'inscription: 25-05-2009
Messages: 31

Re: les dates avec populate

Bonjour,

Ce que yvann veux dire, c'est que si tu effectue un traitement dans le sens [formulaire -> MySQL], il te faudra obligatoirement un traitement inverse pour que [MySQL -> formulaire] fonctionne

terrorist a écrit:

[...] dans le controleur je les concatene avant de les mettre dans la base mysql(format annee-mois-jour)

Il te faut donc un traitement qui fait le contraire, par exemple avec la fonction explode() -> http://www.php.net/manual/fr/function.explode.php

Code:

<?php

$dateMySQL = "Annee-Mois-Jour";
list($annee, $mois, $jour) = explore("-", $dateMySQL);

echo $annee;  // Retourne "Annee"
echo $mois;  // Retourne "Mois"
echo $jour;  // Retourne "Jour"

Amicalement,

Will

Hors ligne

 

#5 08-12-2009 16:13:17

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

wi je connai explode parce que c avec ça que je transforme la date formulaire vers mysql.Mon probléme c'est dejà l'affichage.en fait lorsque j'appelle populate(pour modifier mon formulaire)  ça affiche la date comme retournée par mysql(1990-02-10) alors que je veux que ça lui affiche(10-02-1990) comme c'est ce qu'il avait tapé lors de l'ajout

Hors ligne

 

#6 08-12-2009 16:14:02

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: les dates avec populate

Je ne vois vraiment pas l'intéret d'avoir une date dans 3 champs. Comment tu fais la validation de la date côté utilisateur ? (pour ne pas autoriser le 30 février par exemple).

HTML 5 arrivera avec son champs date (http://dev.w3.org/html5/markup/input.date.html) et tous les frameworks JS ont un calendar.


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#7 08-12-2009 16:19:25

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

Merci les gas mais je suis un peu confu.Je valide la date avec zend_validate.
et " Je ne vois vraiment pas l'intéret d'avoir une date dans 3 champs".qu'est ce tu veux dire par là?

Hors ligne

 

#8 08-12-2009 20:33:27

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: les dates avec populate

Un champs pour le jour, un champs pour le mois et un champs pour l'année => 3 champs (même s'ils sont de type select)

Zend_Validate te permet de valider côté serveur, pas du côté utilisateur.


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#9 09-12-2009 09:36:32

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

Donc est-ce tu peux me dire comment s'y prendre?Comment tu gére les dates?

Hors ligne

 

#10 09-12-2009 12:00:35

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: les dates avec populate

Perso, j'utilise jQuery.

Donc premièrement : création du champs text :

Code:

<input type="text" id="ma_date" value="2009-11-01"/>

Et en fin de HTML :

Code:

<script>
$(function() {
    $('#ma_date').datepicker();
});
</script>

Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#11 09-12-2009 17:08:49

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

pourquoi value="2009-11-01"?

Hors ligne

 

#12 09-12-2009 19:41:24

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: les dates avec populate

euh, au hasard big_smile


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#13 10-12-2009 09:11:13

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

mikaelkael a écrit:

Perso, j'utilise jQuery.

Donc premièrement : création du champs text :

Code:

<input type="text" id="ma_date" value="2009-11-01"/>

Et en fin de HTML :

Code:

<script>
$(function() {
    $('#ma_date').datepicker();
});
</script>

Merci j'ai essayé mais j'ai que le champ input avec 2009-11-01 comme valeur mais j'ai pas vu de calendrier et pourtant j'ai la bibliothéque jquery.Est ce ça necessite autre chose?

Hors ligne

 

#14 10-12-2009 10:38:18

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: les dates avec populate

Hello,

Il faut aussi jQueryUI (http://jqueryui.com/) pour avoir le datepicker et j'ai un paramétrage par défaut des datepickers :

Code:

    $.datepicker.setDefaults({  showOn: 'both',
                                buttonImageOnly: true,
                                buttonImage: 'images/calendar.gif',
                                changeMonth: true,
                                changeYear: true,
                                dateFormat: 'yy-mm-dd',
                                highlightWeek: true,
                                firstDay: 1,
                                showWeeks: true,
                                firstDay: 1,
                                changeFirstDay: false});

@+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#15 10-12-2009 13:41:46

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

Merci beaucoup je vai essayer

Hors ligne

 

#16 11-12-2009 11:43:59

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: les dates avec populate

mikaelkael a écrit:

Hello,

Il faut aussi jQueryUI (http://jqueryui.com/) pour avoir le datepicker et j'ai un paramétrage par défaut des datepickers :

Code:

    $.datepicker.setDefaults({  showOn: 'both',
                                buttonImageOnly: true,
                                buttonImage: 'images/calendar.gif',
                                changeMonth: true,
                                changeYear: true,
                                dateFormat: 'yy-mm-dd',
                                highlightWeek: true,
                                firstDay: 1,
                                showWeeks: true,
                                firstDay: 1,
                                changeFirstDay: false});

@+

Merci j'ai pu avoir un beau calendrier.Juste un parametre.Comment mettre l'année à la date que je veux.Par défaut je vois que c'est 1999?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages