Accueil > > > CALENDRIER DE SAISIE PHP ET JAVASCRIPT
CALENDRIER DE SAISIE PHP ET JAVASCRIPT
Information sur la source
Description
C'est un calendrier que j'ai tiré de phpMyAdmin et que j'utilise dans mes formulaires. Pour l'utiliser, vous devez : - nommer votre formulaire, ex : <form name="form_test"> - "nommer" et "IDer" vos champs texte, ex : <input type="text" id="id_ddn" name="ddn" /> - utiliser la fonction implémentée "create_calendar" pour créer les 3 bouttons permettants de remplir le champs texte. Regardez l'exemple dans index.php pour mieux comprendre. Ces fonctions sont très facilement réutilisables avec les images et les fonctions JavaScript et PHP que je vous ai donné en source. 2 fichier pour tester : test.html et test.php4
Source
- <?php
- require("req_buttons.php4");
- /**
- * calendar.php4
- *
- * @version 2.0
- * @copyright 2006
- */
- $t_calendar_months_full=array(1=>"Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
- $t_calendar_days_abreviate=array(1=>"Lu","Ma","Me","Je","Ve","Sa","Di");
- $mois_chiffre=array(1=>"01","02","03","04","05","06","07","08","09","10","11","12");
- $mois_full=$t_calendar_months_full;
- //$mois_abrege=array(1=>"Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc");
- //$semaine_full=array(1=>"Lundi","Mardi","Mercredi","Jeudi","Venredi","Samedi","Dimanche");
- $semaine_abrege=$t_calendar_days_abreviate;
-
- // Variables
- // mois
- if (isset($_POST["mois"])) {$mois_selectionne=$_POST["mois"];}
- else{$mois_selectionne=date("n");}
- // années
- if (isset($_POST["annee"])) {$annee_selectionne=$_POST["annee"];}
- else{$annee_selectionne=date("Y");}
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Language" content="fr" />
- <meta name="Distribution" content="Private" />
- <meta name="Robots" content="None" />
- <meta name="Rating" content="General" />
- <link rel="stylesheet" type="text/css" href="css/style.css" />
- <title>Calendrier</title>
- <script language="JavaScript" type="text/javascript" src="js/dates.js"></script>
- <body>
- <table class="calendar">
- <tr>
- <th width="50%">
- <table border="0" align="center">
- <tr>
- <?php if ($mois_selectionne==1) { ?>
- <td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="12" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne-1;?>" /><button type="submit" name="bt_month_less" title="-" class="im">«</button></form></td>
- <?php }else{ ?>
- <td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo ($mois_selectionne=="1") ? $mois_selectionne : $mois_selectionne-1;?>" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" /><button type="submit" name="bt_month_less" title="-" class="im">«</button></form></td>
- <?php } ?>
- <td style="background-color: transparent;">
- <form name="form_mois" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" />
- <select name="mois" onchange="form_mois.submit()">
- <?php
- $i=0;
- foreach ($mois_full as $value){
- $i++;
- ?>
- <option value="<?php echo $i;?>"<?php echo ($mois_selectionne==$i) ? (" selected=\"selected\""):("");?>><?php echo $value;?></option>
- <?php
- }
- ?>
- </select>
- </form>
- </td>
- <?php if ($mois_selectionne==12) {/* permettre d'augmenter d'une année vers année n+1 et mois==1 */ ?>
- <td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="1" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne+1;?>" /><button type="submit" name="bt_month_plus" title="+" class="im">»</button></form></td>
- <?php }else{ ?>
- <td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo ($mois_selectionne==12) ? $mois_selectionne : $mois_selectionne+1;?>" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" /><button type="submit" name="bt_month_plus" title="+" class="im">»</button></form></td>
- <?php } ?>
- </tr>
- </table>
- </th>
- <th width="50%">
- <table border="0" align="center">
- <tr>
- <td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" /><input type="hidden" name="annee" value="<?php echo ($annee_selectionne>1920) ? $annee_selectionne-1 : $annee_selectionne;?>" /><button type="submit" name="bt_year_less" title="-" class="im">«</button></form></td>
- <td style="background-color: transparent;">
- <form name="form_annee" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
- <input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" />
- <select name="annee" onchange="form_annee.submit()">
- <?php
- $annee_depart = 1920;
- $annee_max = date("Y")+1;
- $j=0;
- for($j=$annee_max;$j>=$annee_depart;$j--){
- ?>
- <option value="<?php echo $j;?>"<?php echo ($annee_selectionne==$j) ? (" selected=\"selected\""):("");?>><?php echo $j;?></option>
- <?php
- }
- ?>
- </select>
- </form>
- </td>
- <td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" /><input type="hidden" name="annee" value="<?php echo ($annee_selectionne<(date("Y")+1)) ? $annee_selectionne+1 : $annee_selectionne;?>" /><button type="submit" name="bt_year_plus" title="+" class="im">»</button></form></td>
- </tr>
- </table>
- </th>
- </tr>
- </table>
- <table class="calendar" align="center">
- <tr>
- <?php
- $nombre_jours_mois = cal_days_in_month(CAL_GREGORIAN,$mois_selectionne,$annee_selectionne);
- $premier_jour_mois = jddayofweek(cal_to_jd(CAL_GREGORIAN,$mois_selectionne,1,$annee_selectionne),0);
- //echo $premier_jour_mois;
- $premier_jour_mois = ($premier_jour_mois==0)? 7 : ($premier_jour_mois);
-
- foreach ($semaine_abrege as $value){
- ?>
- <th><?php echo $value; ?></th>
- <?php
- }
- ?>
- </tr>
- <?php
- $num_col=0;
- $bg=0;
-
- for($k=-$premier_jour_mois+2;$k<=$nombre_jours_mois;$k++){
- if ($num_col==0) {
- $tdbg=(($bg%2)==0)?"two":"one";?>
- <tr>
- <?php
- }
-
- if ($mois_selectionne<10) {$mois_aff=$mois_chiffre[$mois_selectionne];}
- else{$mois_aff=$mois_selectionne;}
- if ($k<10) {$jour_aff="0".$k;}
- else{$jour_aff=$k;}
-
- if (($k>=$premier_jour_mois) AND ($k<=$nombre_jours_mois)) {
- echo ($k==date("j"))?("\t\t<td class=\"selected\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n"):("\t\t<td class=\"$tdbg\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n");
- }
- else{
- if ($k<$premier_jour_mois AND $k>0) {
- echo "\t\t<td class=\"$tdbg\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n";
- }
- else{
- echo "\t\t<td class=\"$tdbg\"> </td>\n";
- }
- }
-
- if ($num_col==6) {echo "\t</tr>\n\t\t";}
-
- $num_col=($num_col+1)%7;
- $bg++;
- }
- ?>
- <tr>
- <td colspan="7"><?php buttons("close");?></td>
- </tr>
- </table>
- <br />
- </body>
- </html>
<?php
require("req_buttons.php4");
/**
* calendar.php4
*
* @version 2.0
* @copyright 2006
*/
$t_calendar_months_full=array(1=>"Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$t_calendar_days_abreviate=array(1=>"Lu","Ma","Me","Je","Ve","Sa","Di");
$mois_chiffre=array(1=>"01","02","03","04","05","06","07","08","09","10","11","12");
$mois_full=$t_calendar_months_full;
//$mois_abrege=array(1=>"Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc");
//$semaine_full=array(1=>"Lundi","Mardi","Mercredi","Jeudi","Venredi","Samedi","Dimanche");
$semaine_abrege=$t_calendar_days_abreviate;
// Variables
// mois
if (isset($_POST["mois"])) {$mois_selectionne=$_POST["mois"];}
else{$mois_selectionne=date("n");}
// années
if (isset($_POST["annee"])) {$annee_selectionne=$_POST["annee"];}
else{$annee_selectionne=date("Y");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="Distribution" content="Private" />
<meta name="Robots" content="None" />
<meta name="Rating" content="General" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>Calendrier</title>
<script language="JavaScript" type="text/javascript" src="js/dates.js"></script>
<body>
<table class="calendar">
<tr>
<th width="50%">
<table border="0" align="center">
<tr>
<?php if ($mois_selectionne==1) { ?>
<td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="12" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne-1;?>" /><button type="submit" name="bt_month_less" title="-" class="im">«</button></form></td>
<?php }else{ ?>
<td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo ($mois_selectionne=="1") ? $mois_selectionne : $mois_selectionne-1;?>" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" /><button type="submit" name="bt_month_less" title="-" class="im">«</button></form></td>
<?php } ?>
<td style="background-color: transparent;">
<form name="form_mois" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" />
<select name="mois" onchange="form_mois.submit()">
<?php
$i=0;
foreach ($mois_full as $value){
$i++;
?>
<option value="<?php echo $i;?>"<?php echo ($mois_selectionne==$i) ? (" selected=\"selected\""):("");?>><?php echo $value;?></option>
<?php
}
?>
</select>
</form>
</td>
<?php if ($mois_selectionne==12) {/* permettre d'augmenter d'une année vers année n+1 et mois==1 */ ?>
<td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="1" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne+1;?>" /><button type="submit" name="bt_month_plus" title="+" class="im">»</button></form></td>
<?php }else{ ?>
<td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo ($mois_selectionne==12) ? $mois_selectionne : $mois_selectionne+1;?>" /><input type="hidden" name="annee" value="<?php echo $annee_selectionne;?>" /><button type="submit" name="bt_month_plus" title="+" class="im">»</button></form></td>
<?php } ?>
</tr>
</table>
</th>
<th width="50%">
<table border="0" align="center">
<tr>
<td style="background-color: transparent;text-align: right"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" /><input type="hidden" name="annee" value="<?php echo ($annee_selectionne>1920) ? $annee_selectionne-1 : $annee_selectionne;?>" /><button type="submit" name="bt_year_less" title="-" class="im">«</button></form></td>
<td style="background-color: transparent;">
<form name="form_annee" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
<input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" />
<select name="annee" onchange="form_annee.submit()">
<?php
$annee_depart = 1920;
$annee_max = date("Y")+1;
$j=0;
for($j=$annee_max;$j>=$annee_depart;$j--){
?>
<option value="<?php echo $j;?>"<?php echo ($annee_selectionne==$j) ? (" selected=\"selected\""):("");?>><?php echo $j;?></option>
<?php
}
?>
</select>
</form>
</td>
<td style="background-color: transparent;text-align: left"><form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"><input type="hidden" name="mois" value="<?php echo $mois_selectionne;?>" /><input type="hidden" name="annee" value="<?php echo ($annee_selectionne<(date("Y")+1)) ? $annee_selectionne+1 : $annee_selectionne;?>" /><button type="submit" name="bt_year_plus" title="+" class="im">»</button></form></td>
</tr>
</table>
</th>
</tr>
</table>
<table class="calendar" align="center">
<tr>
<?php
$nombre_jours_mois = cal_days_in_month(CAL_GREGORIAN,$mois_selectionne,$annee_selectionne);
$premier_jour_mois = jddayofweek(cal_to_jd(CAL_GREGORIAN,$mois_selectionne,1,$annee_selectionne),0);
//echo $premier_jour_mois;
$premier_jour_mois = ($premier_jour_mois==0)? 7 : ($premier_jour_mois);
foreach ($semaine_abrege as $value){
?>
<th><?php echo $value; ?></th>
<?php
}
?>
</tr>
<?php
$num_col=0;
$bg=0;
for($k=-$premier_jour_mois+2;$k<=$nombre_jours_mois;$k++){
if ($num_col==0) {
$tdbg=(($bg%2)==0)?"two":"one";?>
<tr>
<?php
}
if ($mois_selectionne<10) {$mois_aff=$mois_chiffre[$mois_selectionne];}
else{$mois_aff=$mois_selectionne;}
if ($k<10) {$jour_aff="0".$k;}
else{$jour_aff=$k;}
if (($k>=$premier_jour_mois) AND ($k<=$nombre_jours_mois)) {
echo ($k==date("j"))?("\t\t<td class=\"selected\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n"):("\t\t<td class=\"$tdbg\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n");
}
else{
if ($k<$premier_jour_mois AND $k>0) {
echo "\t\t<td class=\"$tdbg\"><a href=\"javascript:returnDate('$jour_aff/$mois_aff/$annee_selectionne')\">$jour_aff</a></td>\n";
}
else{
echo "\t\t<td class=\"$tdbg\"> </td>\n";
}
}
if ($num_col==6) {echo "\t</tr>\n\t\t";}
$num_col=($num_col+1)%7;
$bg++;
}
?>
<tr>
<td colspan="7"><?php buttons("close");?></td>
</tr>
</table>
<br />
</body>
</html>
Conclusion
Fonctionne avec IE et FireFox Inspiré de phpMyAdmin
Permet d'inscrire une date depuis un calendrier au format : JJ-MM-AAA ou si vous préférez DD-MM-YYYY
Utilise JavaScript et CSS pour la mise en forme. D'autres fonctions sont disponibles dans "req_calendrier" pour pouvoir avec la date de la fin du mois par exemple.
Historique
- 10 juin 2006 21:45:39 :
- Cette mise à jour permet d'ajouter quelques foncitons à la librairie des dates.
Elle permet aussi d'écrire les dates au format le plus reconnu par les utilisateurs : dd/mm/aaaa, bref ça fait longtemps que je le promettais, voici enfin un script PHP qui servira à tout le monde je pense :-)
J'ai ajouté pour ceux que ça intéresse une classe PHP4 qui permet de manipuler des formulaires (création facilitée).
Cette classe utilise aussi une classe DataAccess (dite DAO) qui reprend les fonctions de base de MySQL... à voir.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
comparer une date saisie avec une date mysql [ par cLilie ]
Salut,je cherche comment comparer une date saisie au clavier dans une zone de texte et une date provenant de mysql.et aussi j'aimerais pouvoir ajouter
Les dates avec MySQL [ par ImmortalPC ]
Salut,je deviens fou avec mon calendrier J' ai une date de commencement et une date de finrespectivement : date_start et date_endLeur type : datetime
CALENDRIER PHP OU JAVASCRIPT [ par eric93 ]
Bonjour à tous.Je suis débutant, et je suis en stage.Je dois réaliser un formulaire php pour la saisi d'un menu avec la date.Et mon tuteur veut que je
Recupérer la date depui un calendrier [ par lebasketeur ]
bonjour tt le monde,voila je suis nouveau dans le php et je travaille actuellement sur un premier projet.dans un formulaire d'ajout, j'ai une zone de
insérer contenu xml dans bdd mysql [ par indutec ]
Bonjour à tous, Voilà, j'aimerais encoder le contenu d'un fichier xml, que je ne génère pas, vers une base de données mysql. Pour l'instant, il m'enc
insérer contenu xml dans bdd mysql [ par indutec ]
Bonjour, Je souhaite insérer le contenu d'un fichier xml externe dans une base de données sur mon serveur. Pour l'instant, il me génère une erreur
code php [ par parrain3000 ]
salut j'ai besoin de votre aide au sujet du code php d'une sélection de date sous forme de calendrier c'est à dire j'aierais selectionner une date en
Insertion a partir d'une liste deroulante dynamique [ par meego ]
Bonjour ,voici mon problème , j'ai 2 liste déroulante alimentée par une base de données MySqlla première liste déroulante est alimenté par une table
Ajout de données via formulaire [ par peanut38 ]
Bonjour,Je ne comprends pas pourquoi rien ne se passe lorsque je remplis mon formulaire.j'ai deux pages : ajoutrfc.php et traitementajout.phpje me tir
calcul des dates [ par nader19 ]
Bonjour, j'ai problème pour ne pas compter des jours comme par exemple 8 mai ou 1 mai. en effet ce script parcours table et calcul nombre des jours en
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|