Date base de données
- Accueil
- Forum
- Programmation
- PHP
- Date base de données
Swaap Le 8 mai 2016 à 06:17 (Édité le 25 janvier 2019 à 17:51)
J'ai un problème avec les dates de ma base données lorsqu'un utilisateur s'inscrit, la date est au format : 2016-05-08
Je souhaiterai que dans ma base de données lorsqu'un utilisateur s'inscrit la date se met au format :
08-05-2016
Voici ci-dessous le code que j'utilise pour insérez un utilisateur dans la base de donnée
$insererutilisateur = $bdd -> prepare("INSERT INTO utilisateurs(`pseudonyme`, `motdepasse`, `email`, `skype`, `statut`,`dateinscription`) VALUES(:pseudonyme, :motdepasse, :email, :skype, 0, NOW())");
$insererutilisateur -> execute(array(':pseudonyme' => $pseudonyme, ':motdepasse' => SHA1($motdepasse), ':email' => $email, ':skype' => $skype));
Ou si vous avez un moyen que même si dans ma base de données la date est : 2016-05-08 lorsque je veux afficher sur le profil de l'utilisateur elle se mette au format 08-05-2016.
Merci d'avance,
Swaap.
Ranarxhag Le 8 mai 2016 à 10:42 (Édité le 8 mai 2016 à 10:43)
Je suppose que ceci à un rapport avec ton topic précédent 😉
Il me semble qu'il n'y a pas moyen d'insérer une date au format français dans la base de donnée à cause du type de ta colonne.
Néanmoins, tu peux très facilement l'afficher au format voulu.
$inscrits_ajd = $bdd->prepare('SELECT id FROM membres WHERE dateinscription = ?');
$inscrits_ajd->execute(array(date("Y-m-d")));
$inscrits_ajd->fetch();
$inscrits_ajd = $inscrits_ajd->rowCount();
Si on reprend ton code précédent, à l'endroit où tu veux afficher la date, au lieu de faire un simple affichage comme tel,
echo $inscrits_ajd['dateinscription'];
tu vas utiliser la fonction date comme ceci :
echo date("d-m-Y", strtotime($inscrit_ajd['dateinscription']));
Et ce qui est bien, c'est que tu es totalement libre sur le format. Un petit exemple :
echo date("d/m/Y à H:i:s", strtotime($resultat_user['dateinscription'])); // Ce code te donnera 08/05/2016 à 18:25:36
echo date("d.m.Y", strtotime($resultat_user['dateinscription'])); // Ce code te donnera 08.05.2016
J'espère t'avoir aidé. Si tu ne comprends pas trop ce code, je te renvoie sur la doc pour le strtotime
--> http://php.net/manual/fr/function.strtotime.php
Il existe peut-être une autre manière de faire mais pour tous mes sites, je fais ça de cette façon (càd insertion en bdd au format anglais puis affichage au format français comme bon me semble)
Amicalement,
Ranarxhag
Cyberium Le 10 mai 2016 à 16:20 (Édité le 1 janvier 1970 à 01:00)
Laisse la table inscrire la date à sa guise, ça évitera tout problème par la suite. Il suffira juste d'indiquer que tu veux afficher la date au format que tu veux. Pour ça, il te suffit juste d'indiquer dans ton header par exemple:
<?php
setlocale (LC_TIME, 'fr_FR.utf8','fra');
?>
Par défaut, il te mettra sous la forme que tu as indiqué (08-05-2016) si je ne me trompe pas mais à vérifier.
Pour plus de détail, je t'invite à visionner ce tutoriel de PrimFX: TUTO PHP - FORMATER LES DATES
coucougael94 Le 18 mai 2016 à 14:53 (Édité le 1 janvier 1970 à 01:00)
DATE_FORMAT('2016-05-18 14:53:02', '%d/%m/%Y %Hh%imin%ss');
Info : marche aussi avec les datetime.