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

SQL Procédural MySQL Discussion :

[Date dans Mysql] Prise en compte des espaces


Sujet :

SQL Procédural MySQL

  1. #1
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut [Date dans Mysql] Prise en compte des espaces
    Voila j'ai crée une petite fonction qui me permet de formater la date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function datefr($jj, $mm, $aaaa)
    	{
    	  $userDate = mktime(0,0,0,$mm,$jj,$aaaa);
    	  $jours = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
    	  $mois = array('', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
    	  return $jours[date("w", $userDate)] . " " . $jj . " " .   $mois[date("n", $userDate)] . " " . $aaaa;
    	}
    et je stocke le resultat dans une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jour = datefr(date(d),date(m),date(Y));
    le résultat par exemple : Dimanche 01 janvier 2006

    mais quand je veux stocker cette variable dans mysql il ne m'enregistre que le premier mot en l'occurence ici "Dimanche"

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Quelle est la requête SQL exacte?

    Il doit sûrement y avoir un problème de guillements manquants.

    Sinon, pour avoir la date dans la langue recherchée, tu peux te servir des locales (fonction setlocale du PHP), c'est plus simple...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    Merci pour le tuyau "setlocale"

    Donc ca donne au complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    setlocale (LC_ALL, 'fr_FR');
    $jour = strftime("%A %e %B %Y", mktime(0,0,0,date(m),date(d),date(Y)));
    Sinon pour la requete je passe la variable $jour en parametre avec la methode GET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monfichier.php?datebug=$jour
    et la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO Bugs(Poster,DateBug,Libelle,Traite) VALUES('$_GET[poster]','$_GET[datebug]','$_POST[signal]','$_GET[traite]')";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    Et donc dans la base de donne quand je met le champ en "datetime" il m'affiche "0000-00-00 00:00"
    et si je le met en varchar ou char il ne m'affiche que le jour "lundi"

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Un format de datetime correct: "YYYY-MM-DD HH:MM:SS". Si tu passes "lundi 2 janvier 2006", c'est sûr que MySQL aura des difficultés à te comprendre...

    Il faut bien différencier les infos que tu mets en base (dans un format acceptable pour MySQL), de l'affichage (avec les noms des jours en clair, en fonction des locales utilisées)

    Sinon, pour avoir la date du jour, il suffit d'utiliser la fonction NOW() de MySQL (c'est dingue le nombre de personnes qui s'embêtent à utiliser les fonctions mktime et date du PHP alors qu'il suffit d'utiliser le NOW() de MySQL !)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    La tout marche met la fonction now() ne renvoi rien
    vu que c'est une fonction mysql je ne capte pas comment elle pourrait etre interprete dans mon code php le moteur va rien capté.
    Je devrais recevoir un truc genre "undefined function ... " ou un truc du genre non ?

    Sinon en fait le gros probleme c'est que ma date s'enregistre au format datetime dans mysql mais quand je recupere la valeur dans mon code php j'ai l'année en premier (le format anglo-saxon lol) et je ne sais pas comment la faire apparaitre en lettre genre "lundi 12 décembre 12:42" quand je la récupere de la base ou elle se trouve enregistrée dans ce format : 2005-12-12 12:42

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 31/03/2010, 16h25
  2. Prise en compte des changements de droits dans un partage Windows
    Par lesouriciergris dans le forum Sécurité
    Réponses: 1
    Dernier message: 10/11/2009, 09h33
  3. Réponses: 3
    Dernier message: 08/11/2009, 11h45
  4. prise en compte des accents dans mes variables
    Par paolo2002 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/02/2008, 17h17
  5. Pb de prise en compte des accents dans jdk1.5
    Par NizarK dans le forum Langage
    Réponses: 3
    Dernier message: 23/03/2007, 15h10

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