Accueil
Forums
Turoriaux
Inscription
Connexion
Fil RSS
Bienvenue invité !
Vendredi 03 Septembre 2010
Vous êtes ici: Crea-paradise.com > Tutoriaux > Conception web > PHP > Optimisation : date et heure

Optimisation : date et heure



Informations sur le tutorial
Image du tutorial Auteur : Kam1490 Commentaires : 6
Note : Note: 5/5 Vu : 3661
Date : 26/11/2007 à 05h50 Actions : Commenter et noter ce tutorial
Dernière modification : 13/01/2008 à 14h00
Développement web - Web 2.0 - Infographie - SEO - Ergonomie - Linux


Introduction :



Beaucoup d'entre vous on pour mauvaise habitude de stocker une date et l'heure dans un champ de type BIGINT.
Afin d'optimiser vos tables MySQL, sachez qu'il existe un autre moyen de stocker celui-ci, et dont je vais vous apprendre dans ce tuto.

Utilisation du type DATETIME :



Nous allons utiliser un type plus approprié qui ce nomme DATETIME.
Vous allez devoir enregistrer votre date et heure de cette façon : AAAA-MM-JJ HH:MM:SS.

Un petit exemple d'une table MySQL avec un champ que j'ai nommé temps avec comme valeur par défaut 0000-00-00 00:00:00.



Information
Mais sachez qu'il va falloir revoir vos scripts .
Mais rassurez vous, rien de bien méchant, c'est une question d'habitude.
Tout d'abord nous allons devoir récupérer la date et l'heure grâce à la fonction NOW() et non avec la fonction TIME()


Récupérer la date et l'heure avec la fonction NOW():



Voici un exemple de requête pour insérer des informations dans une table :

Code SQL:
mysql_query ("INSERT INTO news VALUES('', '" . $pseudo . "', '" . $titre . "', '" . $contenu . "', NOW())")OR die (mysql_error());


Vous voyez ? rien de bien méchant, nous avons tout simplement utilisé la fonction NOW() à la place de la fonction TIME().
Cette requête est bien entendu à titre d'exemple.
Et en plus, elle n'est même pas optimisée (Honte à moi)  


Question
Ha en effet, mais heuuu, j'ai un problème quand je veux afficher le résultat, tu te fiches de nous ou quoi ?

Non non pas du tout, il va falloir revoir un peu l'affichage de celui-ci
Et en plus, elle sera affichée en français 
Vous aimeriez voir afficher vos dates de cette façon ? Posté le 11 Octobre 2024 à 06:40:23
Oui ?  ben je vais vous montrer comment faire

Après la théorie, passons à la pratique :


On déclare d'abord nos variables avec nos mois en français
Code PHP:
<?php
     $mois_fr = array ("01" => "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril", "05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août", "09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre");
?>


On récupère nos information dans notre base de donnée, ici j'ai mis $donnees[temps] juste à titre d'exemple, à vous d'adapter le code.

Code PHP:
<?php
sscanf($donnees['temps'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
?>


Et maintenant, on affiche 

Code PHP:
<em>Posté le
<?php  
     echo $jour.' '.$mois_fr[$mois].' '.$annee.' à '.$heure.':'.$minute.':'.$seconde;
?>
</em>





C'est fini 
C'est mon premier tuto, pour tout autre question, contactez moi par MP 
Merci pour vos futurs commentaires


6 commentaires



> Posté le : 30/11/2007 à 15h27 | Note : Note: 5/5
Avatar de DarkSun*


Groupe : Validateurs


Salut,

Ma fois, bon tutoriel, bravo !
Note: 5/5

[ Mon site ]-[ Alliance-Creativ` ]-[ Ma team CS ]-[ Mon FTP ]-[ Me contacter ]

Aucun support par MP, mail ou MSN
> Posté le : 01/12/2007 à 11h58 | Note : Note: 5/5
Avatar de tazee


Groupe : Membres


Oui, oui, bon tuto,
sauf que dans la premiere requete, tu met NOW, au lieu de ROW

Chuck Norris ne porte pas de montre. Il décide de l'heure qu'il est.
Quand Google ne trouve pas quelque chose, il demande à Chuck Norris.
> Posté le : 03/12/2007 à 06h48 | Note : Note: 5/5
Avatar de lbeetls01


Groupe : Membres


Très bon tuto !

Crea-paradise - Créateurs de rêves

Pas d'aide par MP, les forums sont là pour ça .
> Posté le : 04/12/2007 à 15h38 | Note : Aucune
Aucun avatar


Groupe : Membres


Citation: tazee
Oui, oui, bon tuto,
sauf que dans la premiere requete, tu met NOW, au lieu de ROW



J'ai modifié, en faite, il s'agit bien de la fonction NOW et pas de ROW ...

Veillez m'excuser, une erreur de ma part, on s'embrouille très vite en php avec toute ces fonctions 
> Posté le : 05/12/2007 à 05h53 | Note : Note: 5/5
Aucun avatar


Groupe : Membres


Tres bon tuto et surtout bien ecrit

Bravo !

Développeur web avec 7 années d'expérience.
=> Ancien modérateur de créa-paradise.
> Posté le : 08/12/2007 à 02h09 | Note : Aucune
Aucun avatar


Groupe : Membres


Merci pour vos commentaires et vos notes.

Ça fait plaisir 

Edit : Un changement a eu lieu, en effet, l'array des mois, était érroné.
Sachant que la fonction NOW, récupère le mois comme ceci : XX
J'ai remarqué ça, quand on est arrivé à Janvier .
Le mois ayant pour un seul chiffre : janvier, févrié ...


1