CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Insertion date format phpmyadmin

valpicot59
valpicot59
Niveau 5
08 juin 2015 à 20:54:22

Bonsoir à tous,

Depuis 12h je cherche le moyen d'entrer une date dans ma base de données. J'utilise phpmyadmin et dans ma table j'ai mi une colonne avec une fonction date et dans mon code PHP, j'ai une date du jour mais en français. Du coup j'ai regardé un peu sur le net et tout, et j'ai fais un covertisseur pour le mettre sous forme aaaa-mm-aa comme sur phpmyadmin et après je l'insére avec la requête insert into et elle fonctionne avec d'autre chose mais la date non elle reste avec que des zéros. J'ai même fais un "echo" de ma variable et elle s'affiche avec le bon format mais rien dans ma table. Voilà j'aimerai une aide pour ceci ci possible, je vous remercie d'avance.

Cordialement

valpicot59
valpicot59
Niveau 5
08 juin 2015 à 21:44:18

CODE :
$date = date("d/m/Y");
list($day, $month, $year) = explode('/', $date);
$dateEn = "$year-$month-$day";

$rtt=$_POST['rtt'];

$requete="INSERT INTO $table(IdLogin, Envoie, DateDemande, Rtt) VALUES(216, 0, $dateEn, $rtt)";
$connexionserver->query($requete);

Et ensuite je fais un echo dans un autre fichier, et il m'affiche bien sous cette forme aaaa-mm-jj mais il ne m'affiche pas la date, ça reste toujours par défaut dans la base de données 0000-00-00

Darkandgel
Darkandgel
Niveau 10
09 juin 2015 à 10:00:40

Pourquoi tu ferais pas $date = date("Y-m-d") ?

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 10:03:22

Parce que les dates je ne veux pas qu'elle s'affiche sous cette forme pour les utilisateur

Darkandgel
Darkandgel
Niveau 10
09 juin 2015 à 10:05:20

Dans ce ca cas :

$timestamp = time();

$dateAAfficher = date("d/m/Y", $timestamp);
$dateAInserer = date("Y-m-d", $timestamp);

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 10:06:45

Et ensuite aussi, il entre deux dates de début et de fin, et je dois les entrées dans ma base de données mais les dates, les utilisateur les entres en français forcément c'est pour ça aussi mais si j'ai la solution pour l'un je l'ai pour l'autre :)

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 10:09:05

Et ceci je le remplace par la date actuelle mais comment faire pour les deux entrées des dates des utilisateur ?

Darkandgel
Darkandgel
Niveau 10
09 juin 2015 à 10:15:43

$timestamp = time();

Te donne la date actuelle.

Pour convertir une donnée donnée par un utilisateur, utilise ça :

$timestamp = date_create_from_format("d/m/Y")->getTimestamp();

Je ne suis pas sur que ce soit la maniere la plus propre de faire, mais au moins ça devrait marcher

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 10:52:18

Je ne comprends pas très bien ta conversion, je n'ai juste a la remplacer ou il faut changer des choses dans ta formule ?

Darkandgel
Darkandgel
Niveau 10
09 juin 2015 à 11:08:15

C'est peut etre parce que j'ai oublié une argument dans la méthode --'

$timestamp = date_create_from_format("d/m/Y", $date)->getTimestamp();

$date contient la date entrée par l'utilisateur (au format d/m/Y).
$timestamp contient un timestamp qui correspond a la date entrée par l'utilisateur.

Pour entrer ça dans ta base, tu fais un $dateAInserer = date("Y-m-d", $timestamp);

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 11:34:58

Il doit vraiment y avoir un truc parce que ça fonctionne parfaitement, quand j'affiche le résultat de ta conversion, ça se mets bien en aaaa-mm-jj mais rien dans la base de données. Toujours 0000-00-00. Ma requête est bonne car les autres valeurs se rentre bien. Et quand je debug mon programme dans le requête il m'affiche bien ceci : "INSERT INTO demande(IdLogin, DateDemande, Rtt) VALUES(216, 2015-06-09, 0)". Il doit y avoir un problème au niveau de la BDD non ?

valpicot59
valpicot59
Niveau 5
09 juin 2015 à 11:48:42

C'est bon j'ai trouver !!!!!!
Merci Darkangel pour tes réponses, enfaite il ne fallait juste mettre ' ".$date." ' pour bien l'injecter !!!!
Merci a toi !
Bonne fin de journée :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment