sauvgarde de date ou datetime dans base de données

Par nihel5, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code. lors d'envoie du formulaire qui contient un deux champs de type date le sauvgarde dans la base de données n'est pas effectué

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

<?= $this->Form->create($payment) ?> <input type="hidden" value="<?php $time = date::now(); echo $time; ?>" id="date_P" name="date_P"> <input type="hidden" value="<?php echo $time->modify('+ 5 days'); ?>" id="date_exp" name="date_exp"> <?= $this->Form->end() ?>

Ce que je veux

je veux enregistrer c'est deux champs dans la base de données

Ce que j'obtiens

un erreur vous ne pouvez pas ajouter cette payement , quand je change date avec une autre valeur l'enregistrement est effectué mais les champs dans la base de donnés seront null

7 réponses

Carouge10, il y a 10 ans

Bonjour,

Pour insérer une date dans la BDD elle doit être de la forme "2016-04-29" ou "2016-04-29 18:24:02" pour du datetime

Petite astuce :
"<?php echo" peut être remplacer par "<?="

<?php $time = date::now(); ?> <?= $this->Form->create($payment) ?> <input type="hidden" value="<?= $time; ?>" id="date_P" name="date_P"> <input type="hidden" value="<?= $time->modify('+ 5 days'); ?>" id="date_exp" name="date_exp"> <?= $this->Form->end() ?>
nihel5, il y a 10 ans

Merci :) j'ai fait comme ça,
<?php $time = date::now(); ?>
<input type="hidden" value="<?= $time->format('Y-m-d'); ?>" id="date_P" name="date_P">
<input type="hidden" value="<?= $time->modify('+ 5 days')->format('Y-m-d'); ?>" id="date_exp" name="date_exp">
<?= $this->Form->end() ?>
pas d'erreur et dans ma base de données les champs de type date mais les champs sont toujours null dans la base de données

Carouge10, il y a 10 ans

Vous sur que $time n'est pas vite ?

nihel5, il y a 10 ans

non pas vide.. elle prend la date d'aujourd'hui

Carouge10, il y a 10 ans

Et le format correspond à celui demandé par la BDD ?

nihel5, il y a 10 ans

oui c'est la mm format

Carouge10, il y a 10 ans

reste à regarder la requête sql.