Optimisation : date et heure
Informations sur le tutorial
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:23Oui ? 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 :  |

Groupe : Validateurs
|
Salut,
Ma fois, bon tutoriel, bravo !
 |
|
> Posté le : 01/12/2007 à 11h58 | Note :  |

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 :  |

Groupe : Membres
|
Très bon tuto ! |
|
> Posté le : 04/12/2007 à 15h38 | Note : Aucune |

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 :  |

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 |

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é ... |