oui je me disais bien aussi
non t’inquiète je ne suis pas très fort je te l'accorde mais j'utilise quand même le bon format hehe
oui je me disais bien aussi
non t’inquiète je ne suis pas très fort je te l'accorde mais j'utilise quand même le bon format hehe
Je viens d'éditer ma précédente réponse, y'avait effectivement un petit malentendu de ma part
Oui ce qui m'a dérouté c'est que tu formatais le résultat au format français dans ta requête de sélection pour ensuite utiliser les fonctions date de php et ça n'était pas logique.
...après si tu n'utilises cette date que pour afficher l'année (si tu n'as pas besoin d'exploiter cette date autrement ensuite avec php) tu pourrais faire l'équivalent de ce que tu as fais avec php, directement dans ta requête avec les fonctions dateTime de mysql (je dis pas que ce sera exactement la même syntaxe). Sur l'ensemble du script cela devait être un peu plus performant, mais bon là on est dans le domaine de l'optimisation "ultime" Eventuellement cela peut te faire un bon exercice car on a souvent besoin d'utiliser les fonctions date de mysql pour faire du tri.
que pour afficher l'année ? non j'affiche que l'age..
voici mon code :
Pour une date de naissance de 1987-02-28 il affiche à l'écran 28 ans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function age($date_naissance) { $diff = (new \DateTime())->diff(new \DateTime($date_naissance)); return $diff->y; }
Pour une date de naissance de 1987-02-22 il affiche à l'écran 29 ans
donc parfait.
par contre je ne vois pas comment optimiser ce code (qui est déjà pas mal compressé)
pour les exercices sur les dates oulaa t’inquiète pas, j'ai de quoi faire, regarde :
gerer-l-affichage-d-date-vers-format-plus-confortable-visuellement/
Non ce code ne peut plus être optimisé, enfin je pense pas.
Ce que je voulais dire c'est que plutôt que de le faire en php tu pourrais certainement le faire dans ta requête de sélection sql (il y a aussi datediff dans les fonctions sql). Mais bon t'embête pas pour ça. Cela aurait de l'intérêt si cela pouvait t'éviter un gros traitement côté php, mais ici ce n'est pas le cas.
Salut,
en une ligne (profite de le possibilité de déréférencer) sur une opération aussi simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function age($date_naissance) { return (new \DateTime())->diff(new \DateTime($date_naissance))->y; }
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Je viens de faire la mise à jour ! eh hop une ligne en moins
Salut,
si la différence entre la date d'aujourd'hui et la date de naissance est strictement inférieure à 18 ans alors message d'alerte.
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager