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

PHP & Base de données Discussion :

[Conception] Convertion de date de FR=>BDD et de BDD=> FR


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Points : 19
    Points
    19
    Par défaut [Conception] Convertion de date de FR=>BDD et de BDD=> FR
    Bonjour,

    J'ai 2 convertion de date à faire depuis un champ de formulaire.

    le 1er champ et l'envoi de cette date, la convertir avant l'envoi du format FR vers le Format (Anglais) pour la stocker dans ma table de ma BDD:
    mon script ( qui ne marche pas comme je souhaite), j'écri la date sous la forme 02/03/06 et elle s'écrit sous la forme 2002-03-060
    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
     
    <input name="date_de_la_nouvelle_Maj" type="text" class="champFormulaire" id="date_de_la_nouvelle_Maj" value="<?php
    $datefr = date("d/m/y");
    echo $datefr;
    function datefr($thedate , $format) {
     if (!preg_match('/(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/', $thedate, $r))
     {
     return false;
     }
     else
     {
     setlocale (LC_TIME, "fr_FR");
     $date = strftime($format,mktime($r[4], $r[5], $r[6], $r[2], $r[3], $r[1] ));
     $date = ucfirst($date);
     return $date;
     }
     
    }
    ?>" size="12" maxlength="10" />
    Le 2eme champ qui fait apparaitre la date dans un champ du formulaire de vérification de saisie, la présente ainsi : 2002-03-060
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <input name="DateMaj" type="text" class="champFormulaire" id="DateMaj" value=" <?php echo $row_newMAJ['date']; ?>" size="12" />
    Je ne sais pas comment faire pour obtenir de bonnes conversions de date.

    Merci de votre aide.

    Reman

  2. #2
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    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
     
    function formateDate($dateInit,$conv){ 
    	// Convertit une date au format Anglais 2004-04-14 en format francais 14/04/2004
    	// Et vis et versa 
    	// USAGE : Appeler la fonction en passant en parametre la date et le type de convertion ( en_fr => English Francais ... )
    	switch($conv){
    		case "en_fr":
    			$tabDate=explode("-",$dateInit);
    			$newDate=$tabDate[2]."/".$tabDate[1]."/".$tabDate[0];
    			return $newDate;
    		break;
    		case "fr_en":
    			$tabDate=explode("/",$dateInit);
    			$newDate=$tabDate[2]."-".$tabDate[1]."-".$tabDate[0];
    			return $newDate;
    		break;
    	}
    }
    Take it HiSy

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si tu as un contrôle sur ta BDD, le plus pratique serait de stocker toutes tes dates en timestamp (format int(10) dans la table).
    Ainsi, un simple appel à date() avec ton timestamp en paramètre et tu pourras les afficher comme tu le souhaites.
    Pour obtenir un timestamp à partir d'une date, utilise mktime().

  4. #4
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Kirkis
    Pour obtenir un timestamp à partir d'une date, utilise mktime().
    ou bien strtotime

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    J'ai mis mon champ de ma table en "timestamp" et j'ai fait les modif suivant dans mon script :
    champ de date à remplir avant l'envoi vers ma BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input name="date_de_la_nouvelle_Maj" type="text" class="champFormulaire" id="date_de_la_nouvelle_Maj" value="<?php
    $datefr = date("d/m/y", mktime(0, 0, 0, 3, 0, 2000)); ?>" size="12" maxlength="10" />
    Résultat, cela ne fonctionne pas, avant la date du jour apparaîssait dans ce champ "03/03/2006".

    Le champ de renvoi de la date du dernier enregistrement de données dans ma table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name="DateMaj" type="text" class="champFormulaire" id="DateMaj" value=" <?php echo $row_newMAJ['date']; $date = date("d/m/y", mktime(0, 0, 0, 3, 0, 2000)); ?>" size="12" />
    Merci de votre aide.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Pourquoi cela ne fonctionne t-il pas avecc le script du dessus ?

Discussions similaires

  1. [Conception] Gerer les dates et archives avec php
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/04/2006, 23h39
  2. Convertion Format Date
    Par Portekoi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/03/2006, 19h43
  3. [Conception] Classement par date et id : donner la priorité
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 01/02/2006, 15h04
  4. Convertion de date
    Par cramidou dans le forum Linux
    Réponses: 1
    Dernier message: 29/11/2005, 17h01
  5. Convertion des dates SQL Server
    Par sdelaunay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/08/2005, 09h22

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