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 :

Inversion entre le mois et le jour


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Inversion entre le mois et le jour
    Bonjour tout le monde!!!

    J'ai donc réalisé une application web sous php avec comme serveur le "sql server 7". Tout fonctionnait correctement.
    Depuis que j'ai réalisé la migration de sql server 7 à 2000, j'ai rencontré beaucoup de problème au niveau des dates!!!
    J'en ai résolu quelqu'un mais maintanant j'ai un problème qui persite.

    J'ai donc un formulaire de prêt, de livres par exemple, l'utilisateur doit remplir les champs suivants:
    - Nom de la personne qui emprunte le livre
    - date de sortie du livre
    - date de retour du livre
    Jusque là, pas de problème... Mais lorsque l'utilisateur souhaite valider ce prêt, on a une page de liste de prêt qui apparaît. Le problème que je rencontre c'est que le mois et le jour de la date sont inversées.

    Si l'utilisateur rentre comme date de sortie: 10/09:2006 en cliquant sur valider (une page de liste de prêt apparaît) on aura comme date de sortie:09/10/2006.
    Cette inversion s'est produite lors de la migration du server, pourtant j'ai vérifié que les dates étaient bien du même format (d/m/y).

    Je comprends pas pourquoi ça me l'inverse!!!
    Si vous avez une idée à ce sujet, ça m'aiderais beaucoup.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    tu n'utiliserais pas mktime() quelque part ? les parametres sont "inversés" dans cette fonction

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Non je n'utilise pas mktime.
    Je fais appele à une fonction afficheDate

    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
     
    function afficheDate($chp,$direction)
    {
     
    	if($chp=='' or empty($chp) or $chp=='Null')
    	{
    		if($direction=='p')return(" ");
    		if($direction=='f')return("");
    	}
    	else
    	{		
    		setlocale(LC_TIME, "fr");
    		$timestamp = strtotime($chp);
    		$Date = date("d.m.Y", $timestamp); //french
    		//$Date = date("Y.m.d", $timestamp); //english
    		return $Date;
     
    	}
    }

    Et dans mon champ date de sortie le code est de cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <? echo afficheDate($dateRetour, 'p') ?>
    Avec l'ancien serveur que j'utilisais (sql server 7) je n'avais pas de problème.
    Est ce que je dois reconfigurer le nouveau server (sql server 2000) ?
    Je l'ai déjà fais mais rien n'a changé.
    Merci pour vos réponses.

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    echo est ton ami.
    regarde ou sont les données corrompues.
    regarde dans ta base de données, regarde ce que tu recoit avant mise en forme, etc... bref, ajoute des echo partout pour trouver d'ou vient le probleme.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je crois savoir ou mon problème, c'est dans la requête update

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     $req = "UPDATE PRET SET refPret='$refPret',affectPret='$affectPret',";
    $req .= " dateSortie='$dateSortie',dateRetour='$dateRetour' WHERE refPret='$oldID'";
    Le sql server 7 modifier la date sans aucun problème, mais apparemment quand je fais un update sur la date il m'inverse le jour et le mois.

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    j'suis pas un pro SGBD, mais il est bien possible que ca depende du type de la colonne date associée a ta valeur et des options de langues définies dans la base, sans doute anglaise ou américaine par defaut, ou les dates s'écrivent souvent MM/DD/AAAA. Peut etre y a t'il un format "explicite" qui indique quel est le format a prendre. ou alors une modification de la base de donnée pour utiliser le bon type de date

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/04/2015, 09h15
  2. [XL-2007] Inversion des mois et des jours non désirée
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/03/2015, 17h15
  3. [AC-2003] La somme entre 2 années successives avec jours et mois fixes
    Par mouhamadrouabha dans le forum Access
    Réponses: 15
    Dernier message: 07/02/2012, 09h27
  4. [A-03] inversions entre jour et mois sur dates
    Par thiefer dans le forum IHM
    Réponses: 4
    Dernier message: 31/10/2008, 14h52
  5. Réponses: 3
    Dernier message: 27/01/2006, 12h36

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