2010-12-03 19 views
0

J'ai un formulaire où l'utilisateur doit insérer une date. Cette date est ensuite utilisée par le programme pour déterminer une date d'expiration. Ma question est, comment est la meilleure méthode pour l'utilisateur d'insérer la date dans le formulaire, pour qu'il soit stocké dans une cellule de date mysql.l'utilisateur insère la date dans le formulaire

Merci!

Répondre

2

Utilisez quelque chose comme ça pour l'avant:

http://jqueryui.com/demos/datepicker/

Si vous ne voulez pas manipuler la chaîne de date en PHP, définissez le datepicker travailler au format AAAA-MM-JJ (qui est utilisé dans le type MySQL DATE). Ensuite, envoyez votre information avec Javascript ou comme une partie d'un formulaire.

1

Je suis d'accord avec @treeface. Utilisez DatePicker de jQuery, mais utilisez le format de date localisé pour les utilisateurs de votre pays. Il m'est arrivé, à travers le monde, que les gens utilisent des formats de temps différents. Faites attention à cela. Vous pouvez stocker cette heure dans votre base de données en utilisant MySQL DATE (AAAA-MM-JJ), DATETIME (AAAA-MM-JJ HH: MM: SS) ou UNIX TIMESTAMP. Il est facile de comparer les dates, il y a beaucoup de scripts à lire à ce sujet. Utilisez votre controleer pour envoyer les données à votre modèle, comparez et renvoyez TRUE/FALSE en fonction du résultat. Avec ce booléen, vous pouvez montrer les résultats à votre utilisateur. En outre, vous pouvez accomplir cela en utilisant un jQuery. Envoyez la date sélectionnée au serveur, comparez et renvoyez une réponse JSON avec le statut OK/NOTOK.

Par exemple:

 

<head> 
.... 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<link rel="stylesheet" href="path/to/jquery-ui-1.8.4.css" type="text/css" media="screen" /> 
<script type="text/javascript" src="path/to/jquery-ui-1.8.4.min.js"></script> 
.... 
</head> 

<script type="text/javascript"> 
$("input#datepicker").datepicker({ 
    showOn: 'both', 
    buttonImageOnly: true, 
    buttonImage: 'images/calendar-trans.png', 
    firstDay: 1, 
    dateFormat: "dd/mm/yy", // Select a time format that suits you 
    changeMonth: true, 
    changeYear: true, 
    onSelect: function(dateText, inst) { 
     $.post(url+"/calendar/check_date/", 
     { 
      date_selected: $("input#datepicker").val(); 

     },function(data){ 
      if(data.status != 'OK'){ 
       alert('Your date is wrong. Try again!'); 
      } 
     }); 
    } 
}); 
</script>