Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Timestamp Mysql - Partie II
Dans un souci de vous donner un maximum d'infos sur les possibilités offertes par l'usage des types de champs DATE, DATETIME et TIMESTAMP de Mysql, je vous ai concocté cette partie bis à l'article Timestamp PHP vs Timestamp Mysql.Je vais vous montrer comment récupérer un timestamp PHP (temps UNIX) au départ de votre champ DATE, DATETIME ou TIMESTAMP.
Et voilà, les mauvaises langues s'y mettent... on me traite d'idiot, de débile, d'aliéné qui ne sait même plus qu'il a dit dans l'autre article que d'utiliser le timestamp PHP était complètement idiot.
Hé ho, ça va hein, un peu de respect pour mes vieilles artères !
C'est ici que toute la puissance des champs DATE, DATETIME et TIMESTAMP se fait jour. Je vous l'avais dit, ce type de champ offre un tas de fonctionnalités.
<?php
$req= "SELECT titre, UNIX_TIMESTAMP(temps) as temps_UNIX FROM table WHERE id=1";
$res=mysql_query($req);
$data=mysql_fetch_assoc($res);
echo 'Notre timestamp PHP est ',$data['temps_UNIX'];
?>
Et voilà, c'est aussi simple que ça !
Ok bon, c'est pas mal en effet... mais que on va bien pouvoir faire de ce temps en secondes depuis 1970 ?
Et bien, si Mysql est capable de faire des calculs d'intervalle et de vous retourner une date formatée comme je vous l'ai montré dans l'autre article, Mysql ne gère pourtant pas les dates locales comme on peut le faire avec PHP.
Avec ce timestamp, vous pourrez formater votre affichage dans la langue de votre choix, grâce à strftime() et setlocale()
Exemple avec un setlocale(LC_TIME, 'fr_FR') pour avoir la date en français.
L'article précédent sur le TIMESTAMP, c'est par là : Timestamp PHP vs Timestamp Mysql
Une petite note
Dans la partie I, concernant le formatage de données directement dans la requête, je n'ai donné qu'un exemple basique avec date_format() parce que je pense que le formatage ne doit pas se faire au départ de la requête mais du côté de l'affichage.
La performance va du côté de PHP car Mysql prend énormément de ressource et le formatage encombre un peu plus le processus, surtout si on a énormément d'enregistrements.
De plus, imaginez votre site multi-langues avec un formatage de date directement dans la requête ?
Le rendu ne sera pas au format de chacun !
La règle générale veut qu'on n'utilise pas un SGBDR pour réaliser du formatage de données.
Il suffit de s'en rappeler et de s'y tenir, c'est aussi simple que ça.
