Problème calendrier Datepicker
Résolu
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai téléchargé la librairie Jquery pour avoir un calendrier pour mes dates.
Avec pas mal de tutos sur le net j'avais l'impression que cela serai facile à mettre en place, mais malheureusement j'ai quelques soucis.
Voici la fonction qui retourne le calendrier en Français j'ai également mis le format que je voulais c'est à dire la date complète
Par contre mon soucis c'est que l'INSERT ne ce fait pas dans ma BDD.
Par contre si je met la date à ce format c'est à dire 2015/03/15 tout fonctionne l'INSERT se fait bien dans ma BDD
Pouvez-vous m'aider sur ce problème s'ils vous plait il y a trop longtemps que je galère.
Juste pour info le champ de type est Date dans ma BDD
En vous remerciant par avance.
J'ai téléchargé la librairie Jquery pour avoir un calendrier pour mes dates.
Avec pas mal de tutos sur le net j'avais l'impression que cela serai facile à mettre en place, mais malheureusement j'ai quelques soucis.
Voici la fonction qui retourne le calendrier en Français j'ai également mis le format que je voulais c'est à dire la date complète
dateFormat: 'DD dd MM yy' Dimanche 15 Mars 2015
jQuery(function($) { $('#date_sortie').datepicker(); $.datepicker.regional['fr'] = { closeText: 'Fermer', prevText: '<Préc', nextText: 'Suiv>', currentText: 'Courant', monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'], monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc'], dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], dateFormat: 'DD dd MM yy', firstDay: 1, isRTL: false}; $.datepicker.setDefaults($.datepicker.regional['fr']); });
Par contre mon soucis c'est que l'INSERT ne ce fait pas dans ma BDD.
Par contre si je met la date à ce format c'est à dire 2015/03/15 tout fonctionne l'INSERT se fait bien dans ma BDD
yy/mm/dd 2015/03/15
Pouvez-vous m'aider sur ce problème s'ils vous plait il y a trop longtemps que je galère.
Juste pour info le champ de type est Date dans ma BDD
En vous remerciant par avance.
A voir également:
- Problème calendrier Datepicker
- Mon calendrier - Télécharger - Santé & Bien-être
- Logiciel gratuit conversion calendrier républicain - Télécharger - Études & Formations
- Calendrier partagé google - Guide
- Synchroniser calendrier outlook et gmail - Guide
- Logiciel calendrier personnalisé gratuit - Télécharger - Organisation
6 réponses
Bonjour,
Tu laisses ta date comme ça dans ton javascript ... par contre... avant de l'insérer en BDD tu la retransformes en datetime (format anglais).
Par exemple via une petite fonction de ce genre :
Tu laisses ta date comme ça dans ton javascript ... par contre... avant de l'insérer en BDD tu la retransformes en datetime (format anglais).
Par exemple via une petite fonction de ce genre :
function getDateFRtoEN($date){ $result= substr($date, 6, 4)."-".substr($date, 3, 2)."-".substr($date, 0, 2); if($result!='--'){ return $result; }else{ return NULL; } }
Bonjour
Merci pour ta fonction.
Malheureusement je n'arrive pas à insérer l'appel à cette fonction dans ma page.
J'ai mis ta fonction dans mon fichier "fonction.php" et ci-dessous le script qui ajoute les dates insérés.
Merci de ton aide.
Merci pour ta fonction.
Malheureusement je n'arrive pas à insérer l'appel à cette fonction dans ma page.
J'ai mis ta fonction dans mon fichier "fonction.php" et ci-dessous le script qui ajoute les dates insérés.
Merci de ton aide.
if(isset($_POST['action'])) { $id_calendrier = isset($_REQUEST['id_calendrier']) ? $_REQUEST['id_calendrier'] : ''; $date_sortie = isset($_POST['date_sortie']) ? Security::clean($_POST['date_sortie']) : ''; $lieu_sortie = isset($_POST['lieu_sortie']) ? Security::clean($_POST['lieu_sortie']) : ''; $objet_sortie = isset($_POST['objet_sortie']) ? Security::clean($_POST['objet_sortie']) : ''; $rdv_sortie = isset($_POST['rdv_sortie']) ? Security::clean($_POST['rdv_sortie']) : ''; $id_calendrier_historique = isset($_POST['id_calendrier_historique']) ? $_POST['id_calendrier_historique'] : ''; $date_sortie_historique = isset($_POST['date_sortie_historique']) ? Security::clean($_POST['date_sortie_historique']) : ''; $lieu_sortie_historique = isset($_POST['lieu_sortie_historique']) ? Security::clean($_POST['lieu_sortie_historique']) : ''; $objet_sortie_historique = isset($_POST['objet_sortie_historique']) ? Security::clean($_POST['objet_sortie_historique']) : ''; $rdv_sortie_historique = isset($_POST['rdv_sortie_historique']) ? Security::clean($_POST['rdv_sortie_historique']) : ''; $Calendrier = new Calendrier_class($id_calendrier, $date_sortie, $lieu_sortie, $objet_sortie, $rdv_sortie, $id_calendrier_historique, $date_sortie_historique, $lieu_sortie_historique, $objet_sortie_historique, $rdv_sortie_historique); $VerifCalendrier = $Calendrier->VerifCalendrier(); if($VerifCalendrier == 'success') { if($Calendrier->AjoutCalendrier()) { echo '<span class="success-info">L\'enregistrement c\'est bien effectué.</span><br/><br/>'; } else { $erreur[] = "Une erreur est survenue"; } } else { $erreur[] = $VerifCalendrier; } }
On va y aller par étape. ..
fais un echo de tes variables et donne moi le résultat que je sache sous quelle forme sont tes dates
fais un echo de tes variables et donne moi le résultat que je sache sous quelle forme sont tes dates
Bonjour
Alors en fait ma date est formater, dateFormat: 'DD dd MM yy'
soit echo "Mardi 17 Mars 2015"
Car dans le formulaire où l'utilisateur rentrera une date ça sera beaucoup plus lisible que le format "yy-mm-dd.
Mais le hic c'est que ce format n'est pas reconnu par Mysql.
Par contre si je laisse la date formater en US tous se passe bien au niveau de l'INSERT.
Donc la fonction permettra de transformer dans la BDD la date Française en US afin que l'INSERT se passe bien.
Merci
Alors en fait ma date est formater, dateFormat: 'DD dd MM yy'
soit echo "Mardi 17 Mars 2015"
Car dans le formulaire où l'utilisateur rentrera une date ça sera beaucoup plus lisible que le format "yy-mm-dd.
Mais le hic c'est que ce format n'est pas reconnu par Mysql.
Par contre si je laisse la date formater en US tous se passe bien au niveau de l'INSERT.
Donc la fonction permettra de transformer dans la BDD la date Française en US afin que l'INSERT se passe bien.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
On va faire la conversion directement dans le Jquery .. en utilisant deux option du datepicker
altFormat et altField
Ce code permet d'afficher une date dans le format "français" dans le champ date_sortie ... et de stocker cette même date dans le format anglais dans le champ (masqué) alt_date_sortie
Donc toi.. dans ton code php .. c'est le champ MASQUE que tu devras utiliser pour stocker les infos en BDD
altFormat et altField
<script type="text/javascript"> jQuery(function($) { $('#date_sortie').datepicker(); $.datepicker.regional['fr'] = { closeText: 'Fermer', prevText: '<Préc', nextText: 'Suiv>', currentText: 'Courant', monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'], monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc'], dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], dateFormat: 'DD dd MM yy', firstDay: 1, altFormat: "yy-mm-dd", altField: "#alt_date_sortie", isRTL: false}; $.datepicker.setDefaults($.datepicker.regional['fr']); }); $('#date_sortie').blur(function(){ console.log($(this).val()); }); </script> <input type="text" id="date_sortie"> <input type="hidden" id="alt_date_sortie" name='alt_date_sortie'>
Ce code permet d'afficher une date dans le format "français" dans le champ date_sortie ... et de stocker cette même date dans le format anglais dans le champ (masqué) alt_date_sortie
Donc toi.. dans ton code php .. c'est le champ MASQUE que tu devras utiliser pour stocker les infos en BDD
$date_sortie = isset($_POST['alt_date_sortie'])?$_POST['alt_date_sortie']:'';