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

MkFramework Discussion :

Conversion de dates dans module form


Sujet :

MkFramework

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    personnage virtuel
    Inscrit en
    Mars 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnage virtuel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Conversion de dates dans module form
    Bonjour,

    J'ai un problème lié à la conversion de dates sur un module form.

    nativement, ma BDD oracle me renvoie des dates au format (DD/MMM/YY). Dans mes formulaires, j'ai besoin de dates au format DD/MM/YYYY.

    Or la syntaxe $oForm->getInputText('DATEUPDATE',array('class'=>'form-control')) me récupère la date au format natif.

    2 questions :

    1 / comment faire pour la convertir dans un format affichable proprement sur le formulaire ?

    2/ Comment intercepter la valeur et la reconvertir au format Oracle au moment de l'enregistrement ?

    Merci

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    personnage virtuel
    Inscrit en
    Mars 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnage virtuel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Dates sous Oracle
    Cette problématique étant intéressante par ailleurs, elle m'a permis de trouver une solution alternative qui pourra intéresser ceux d'entre-vous qui utilisent le Framework sous Oracle.

    La problématique est la suivante : sous oracle, php reçoit les dates de façon pas toujours académique. Tout dépend du paramètre NLS_DATE_FORMAT configuré, mais également de votre client oci.

    Il y a cependant une parade qui permet de fixer la manière dont vous recevrez les données de type date.

    Dans le dossier mkframework\lib\framework\sgbd\pdo se trouve le fichier sgbd_pdo_oracle.php qui permet la connexion à Oracle.

    Dans ce fichier, vous trouverez la fonction connect

    protected function connect(){

    Pour forcer la date au format français dans les données que je récupère du framework, j'ai ajouté cette ligne juste avant la fin de la fonction.

    $this->_pDb->exec("ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'");

    Ainsi, à chaque connexion à oracle via pdo, la date est forcée au format DD/MM/YYYY et permet sans encombre d'être utilisée nativement avec le CRUD et le plugin form.

    Sous Bootstrap, si vous souhaitez utiliser un calendrier datepicker, pensez à le configurer en FR, ça vous évitera bien des ennuis ;-)

    Je reste demandeur de la procédure pour traiter les données en amont et en aval des fonctions getxxx du plugin form.

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonjour,
    L'ORM permet de faire un pré et post traitement sur chacun des objets récupérés

    Vous pouvez regarder ici:
    http://mkframework.com/orm.html

    Rubrique: Automatiser un retraitement sur des enregistrements
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Je vais ajouter un menu sur cette page ORM afin d'y naviguer plus simplement

    Sitot dit: http://mkframework.com/orm.html#automatiserretraitement
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

Discussions similaires

  1. Probleme de conversion de date dans une requete
    Par samsso2006 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/10/2009, 22h45
  2. Vérif sur champ date dans un form continu
    Par electrosat03 dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/11/2008, 23h32
  3. [MySQL] champ date dans un form
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/12/2007, 13h21
  4. Pb de conversion de date dans un Insert
    Par Oncle_Pete dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2007, 14h07
  5. Conversion de date dans une requête
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/08/2006, 08h28

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