Accueil > > > CALENDRIER PAR SEMAINE AVEC ACTIONS
CALENDRIER PAR SEMAINE AVEC ACTIONS
Information sur la source
Description
Il s'agit d'un calendrier par semaine, et non par mois. Ce calendrier affiche donc 1 seule semaine à la fois... Par défaut la semaine en cours. Ce calendrier gère également les clics gauche et droit de la souris sur les jours de la semaine... Permettant une intéraction directe avec une base de données par exemple (Ajax...). Dans l'exemple, l'intéraction envoie simplement une fenètre d'Alert() avec le jour sur lequel on a cliqué... A chacun d'y ajouter les actions qu'il désire. Le clic droit est également géré... Permettant une action différente de celle du clic gauche. Le menu habituel du clic droit a donc été bloqué. La date du jour est affichée en jaune pour plus de lisibilité.
Source
- <?php
- if(isset($_GET["lundi"])) // Une semaine précise est demandée
- {
- $ts = $_GET["lundi"];
- }
- else //On prendra la semaine d'aujourd'hui
- {
- $day = (date('w') - 1); //Jour dans la semaine... Lundi = 0
- $diff = $day * 86400; //Différence en secondes par rapport au lundi
- $ts = (mktime() - $diff); //On récupère le TimeStamp du lundi
- //$ts = mktime();
- }
-
- //Initialisation des variables
- $week = date('W', $ts); //Semaine en cours
- $avant = $ts - 604800; //TimeStamp Lundi précédant
- $apres = $ts + 604800; //TimeStamp Lundi suivant
-
- ?>
- <html>
- <head>
- <title>Calendrier par Semaine - Semaine <?echo $week;?></title>
- <script type="text/javascript">
- var msg = ""; //Initialisation de la variable "msg"
-
- function actionDate(time, e) //Action appelée lorsqu'on clique sur une date.
- {
- if( (!document.all && e.which == 3) || (document.all && event.button == 2)) //Clic avec le bouton droit (la gestion est différente d'un navigateur à un autre)
- {
- msg = "Clic droit: " + time;
- }
- else //Clic avec le bouton gauche
- {
- msg = "Clic gauche: " + time;
- }
- alert(msg);
- //return(true); //Non utilisé ici... Syntaxiquement correct
- }
-
- function no_menu() //Fonction qui désactive le menu du clic droit :)
- {
- return(false);
- }
- document.oncontextmenu = no_menu; // On appele la fonction "no_menu" si le menu du clic droit est appelé
- </script>
- </head>
- <body>
- <table align="center" border="1" width="420px">
- <tr>
- <td align="center" width="14%"><b>Lun</b></td>
- <td align="center" width="14%"><b>Mar</b></td>
- <td align="center" width="14%"><b>Mer</b></td>
- <td align="center" width="14%"><b>Jeu</b></td>
- <td align="center" width="14%"><b>Ven</b></td>
- <td align="center" width="14%"><b>Sam</b></td>
- <td align="center"><b>Dim</b></td>
- </tr>
- <tr>
- <?
- for($i=1;$i<8;$i++) //Pour chaque jour de la semaine... Lundi = 1
- {
- if( ($i == date('w')) && ($week == date('W')) ) //Il s'agit d'aujourd'hui!
- {
- ?>
- <td align="center" style="background-color:#FFFF00;" onMouseUp="actionDate('<?echo date('d M Y', $ts);?>', event)">
- <?echo date('d M Y', $ts);?>
- </td>
- <?
- }
- else
- {
- ?>
- <td align="center" style="background-color:#FFFFFF;" onMouseUp="actionDate('<?echo date('d M Y', $ts);?>', event)">
- <?echo date('d M Y', $ts);?>
- </td>
- <?
- }
- $ts += 86400; //On passe au jour suivant
- }
- ?>
- </tr>
- </table>
- <div align="center">
- <a href="./semaine.php?lundi=<?echo $avant;?>"><<</a> Semaine <?echo $week;?> <a href="./semaine.php?lundi=<?echo $apres;?>">>></a>
- </div>
- </body>
- </html>
<?php
if(isset($_GET["lundi"])) // Une semaine précise est demandée
{
$ts = $_GET["lundi"];
}
else //On prendra la semaine d'aujourd'hui
{
$day = (date('w') - 1); //Jour dans la semaine... Lundi = 0
$diff = $day * 86400; //Différence en secondes par rapport au lundi
$ts = (mktime() - $diff); //On récupère le TimeStamp du lundi
//$ts = mktime();
}
//Initialisation des variables
$week = date('W', $ts); //Semaine en cours
$avant = $ts - 604800; //TimeStamp Lundi précédant
$apres = $ts + 604800; //TimeStamp Lundi suivant
?>
<html>
<head>
<title>Calendrier par Semaine - Semaine <?echo $week;?></title>
<script type="text/javascript">
var msg = ""; //Initialisation de la variable "msg"
function actionDate(time, e) //Action appelée lorsqu'on clique sur une date.
{
if( (!document.all && e.which == 3) || (document.all && event.button == 2)) //Clic avec le bouton droit (la gestion est différente d'un navigateur à un autre)
{
msg = "Clic droit: " + time;
}
else //Clic avec le bouton gauche
{
msg = "Clic gauche: " + time;
}
alert(msg);
//return(true); //Non utilisé ici... Syntaxiquement correct
}
function no_menu() //Fonction qui désactive le menu du clic droit :)
{
return(false);
}
document.oncontextmenu = no_menu; // On appele la fonction "no_menu" si le menu du clic droit est appelé
</script>
</head>
<body>
<table align="center" border="1" width="420px">
<tr>
<td align="center" width="14%"><b>Lun</b></td>
<td align="center" width="14%"><b>Mar</b></td>
<td align="center" width="14%"><b>Mer</b></td>
<td align="center" width="14%"><b>Jeu</b></td>
<td align="center" width="14%"><b>Ven</b></td>
<td align="center" width="14%"><b>Sam</b></td>
<td align="center"><b>Dim</b></td>
</tr>
<tr>
<?
for($i=1;$i<8;$i++) //Pour chaque jour de la semaine... Lundi = 1
{
if( ($i == date('w')) && ($week == date('W')) ) //Il s'agit d'aujourd'hui!
{
?>
<td align="center" style="background-color:#FFFF00;" onMouseUp="actionDate('<?echo date('d M Y', $ts);?>', event)">
<?echo date('d M Y', $ts);?>
</td>
<?
}
else
{
?>
<td align="center" style="background-color:#FFFFFF;" onMouseUp="actionDate('<?echo date('d M Y', $ts);?>', event)">
<?echo date('d M Y', $ts);?>
</td>
<?
}
$ts += 86400; //On passe au jour suivant
}
?>
</tr>
</table>
<div align="center">
<a href="./semaine.php?lundi=<?echo $avant;?>"><<</a> Semaine <?echo $week;?> <a href="./semaine.php?lundi=<?echo $apres;?>">>></a>
</div>
</body>
</html>
Conclusion
Il s'agit là de ma 1ere source, j'espère qu'elle vous plaira. N'hésitez surtout pas à faire vos remarques afin que j'améliore mon code.
Merci à vous.
Historique
- 19 avril 2007 11:27:55 :
- MaJ: petit oublie d'une partie du code. Désolé ^^
- 19 avril 2007 11:30:14 :
- Code rendu un peu plus propre...
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
calendrier sur une semaine [ par SataN_sTn ]
Bonjour,Travaillant sur un calendrier sur une semaine qui reprendre des données dans une base mysql suivant les jours, heures etc, j'ai donc cherché l
pb de renvoi de parametre d'une page à une autre [ par helene38000 ]
Bonjoursj'ai un petit soucis:j'ai dans une page calendrier.php un calendrier cliquable . Set sur une page reservation.php j'ai un formulaire avec plu
communication entre deux page [ par mouness ]
boujour j'ai un probleme et ce serait super si quelqu'un pouvai m'aider je m'explique. J'ai crée 2 frame l'un d'entre elle affiche un calendrier et l'
Créer un calendrier qui renvoie sur une page html en fonction de la date [ par rellik77 ]
Bonsoir à tous !Je cherche un code simple à mettre en place pour faire un calendrier annuel classique, qui permettrait à un utilisateur qui en cliquan
Calendrier pour gallerie photo [ par gandalf76fr ]
Bonjour, ayant ma famille distante, je crée une gallerie photos pour qu'il puisse voir ma fille grandire.Jusque la je l'ai fait sous photoweb gal
Date des jours en fonction de la semaine [ par masseur ]
BOnjour. En fonction du cahier des charges je dois proposer à l'utilisateur de choisir un numér ode semaine qu'il doit remplir. J'aimerai un
Jour de la semaine à partir d'une date [ par abdoulax ]
Bonjour, j'ai une date du type 2006-31-03 je voudrai en récupérer le jour de la semaine. Ce que j'ai fait c'est $week=idate('w',strtotime($l
Je trouve pas l'erreur sur mon script [ par Akash ]
Salut à tous j'espère que vous pourrez m'aider. Voila le problème :Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements pa
calcul de date [ par Paladin2107 ]
Bonjour a tous Existe t'il une fonction qui permet de déterminer une date en fonction du numéro de la semaine. Exemple : A partir de l
trier avec sort() [ par brezoneg ]
Je recherche à trier des numéro de semaine par ordre alpha croissant. Je fais :connction base .....$date = mysql_result($result,0,"$r[0]");i
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|