Ses derniers messages sur les forums
Pour moi, le plus propre c'est le plus lisible et le plus optimisé
Dans ce cas :
SELECT HOUR($dat + INTERVAL 2 HOUR);
C'est surement une petiet erreur à la con. En tout cas si le script affiche "<?" c'est qu'à ce moment c'est du html et non du php.
Mais dans ton wall, je voie pas l'erreur
Ta page n'execute pas php.
Es tu sur de passer pas par le serveur php ?
Regarde l'url du navigateur
Si je puis me permettre :
<input type="text" name="nom" value="<? echo $utilisateur; ?>">
Autre méthode :
<input type="text" name="nom" value="<?= $utilisateur; ?>">
Je sais je suis chiant
En clair si ta date se trouve dans la table tbl_date et que le champ de la date s'appelle dat, il suffit de faire la requête
SELECT HOUR(dat) FROM tbl_date;
et de récupérer la valeur avec php comme n'importe quelle requete
C'est pas sale mais c'est pas le plus "propre"
Ta date est dans une base de donnée ?
SELECT
PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT('1983-01-11', '%Y%m'))/12;
Explication :
PERIOD_DIFF retourne le nombre de mois entre deux date au format YYYYmm ou YYmm
DATE_FORMAT permet de récuperer le bon format des dates "normales" pour PERIOD_DIFF
Et après on divise par 12 pour avoir le nombre d'année.
Attention, ce nombre n'est pas un entier.
On obtient 20.67
Il faut rajouter TRUNCATE(nombre, 0); pour obtenir l'entier sans arrondir.
Ca donnerais un truc du style :
SELECT TRUNCATE(
PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT('1983-01-11', '%Y%m'))/12, 0);
-> 20
Bien sur tu peux changer les dates par des variables php
Pour l'info, avec MySQL
SELECT UPPER('aaa');
> AAA
Voilà