begin process at 2012 05 30 20:10:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Modification calendrier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modification calendrier

dimanche 27 février 2011 à 18:10:46 | Modification calendrier

karlax

Bonjour,

Je cherche à mettre un sélecteur de date pour un formulaire destiné à être utilisé en local pour un "PME".
N'y connaissant pas grand chose, voire même rien en fait ^^', j'ai trouvé un calendrier sur le net qui correspond a ce dont j'ai besoin (le côté austère aussi correspond bien lol)
J'aimerai pouvoir modifier le jour de début de la semaine, pour l'instant la semaine commence le dimanche, comment pourrais je faire pour que la semaine commence le lundi ?

la partie à modifier semble être celle là

var first_day = ds_dc_date.getDay();
var first_loop = 1;
ds_echo (ds_template_new_week());
if (first_day != 0) {
ds_echo (ds_template_blank_cell(first_day));
}
var j = first_day;
for (i = 0; i < days; i ++) {
if (j == 0 && !first_loop) {
ds_echo (ds_template_new_week());
}
ds_echo (ds_template_day(i + 1, m, y));
first_loop = 0;
j ++;
j %= 7;



au cas le tout

<HEAD>
<style type="text/css">

.ds_box {
background-color: #000000;
border: 1px solid #000000; // couleur contour calendrier
position: absolute;
z-index: 32767;
}

.ds_tbl {
background-color: #80797F; // couleur jour hors mois en cours
}

.ds_head {
background-color: #EC8601; // couleur fermer et nom mois en cours
color: #FFF;
font-family: Book antica;
font-size: 14px;
font-weight: bold;
text-align: center;
letter-spacing: 2px;
}

.ds_subhead {
background-color: #F3ED47; // couleur nom jours de la semaine
color: #000;
font-size: 12px;
font-weight: bold;
text-align: center;
font-family: Book antica;
width: 32px;
}

.ds_cell {
background-color: #ECCCD1; // couleur numéros jours du mois
color: #000;
font-size: 13px;
font-weight: bold;
text-align: center;
font-family: Book antica;
padding: 5px;
cursor: pointer;
}

.ds_cell:hover {
background-color: #E101BB;
}

</style>
</head>
<body>

<table class="ds_box" cellpadding="0" cellspacing="0" id="ds_conclass" style="display: none;">
<tr><td id="ds_calclass">
</td></tr>
</table>

<script type="text/javascript">
var ds_i_date = new Date();
ds_c_month = ds_i_date.getMonth() + 1;
ds_c_year = ds_i_date.getFullYear();

function ds_getel(id) {
return document.getElementById(id);
}

function ds_getleft(el) {
var tmp = el.offsetLeft;
el = el.offsetParent
while(el) {
tmp += el.offsetLeft;
el = el.offsetParent;
}
return tmp;
}
function ds_gettop(el) {
var tmp = el.offsetTop;
el = el.offsetParent
while(el) {
tmp += el.offsetTop;
el = el.offsetParent;
}
return tmp;
}

var ds_oe = ds_getel('ds_calclass');
var ds_ce = ds_getel('ds_conclass');

var ds_ob = '';
function ds_ob_clean() {
ds_ob = '';
}
function ds_ob_flush() {
ds_oe.innerHTML = ds_ob;
ds_ob_clean();
}
function ds_echo(t) {
ds_ob += t;
}

var ds_element;

var ds_monthnames = [
'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre'
];
var ds_daynames = [
'Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'
];
function ds_template_main_above(t) {
return '<table cellpadding="3" cellspacing="1" class="ds_tbl">'
+ '<tr>'
+ '<td class="ds_head" style="cursor: pointer" onclick="ds_py();">&lt;&lt;</td>'
+ '<td class="ds_head" style="cursor: pointer" onclick="ds_pm();">&lt;</td>'
+ '<td class="ds_head" style="cursor: pointer" onclick="ds_hi();" colspan="3">[Fermer]</td>'
+ '<td class="ds_head" style="cursor: pointer" onclick="ds_nm();">&gt;</td>'
+ '<td class="ds_head" style="cursor: pointer" onclick="ds_ny();">&gt;&gt;</td>'
+ '</tr>'
+ '<tr>'
+ '<td colspan="7" class="ds_head">' + t + '</td>'
+ '</tr>'
+ '<tr>';
}

function ds_template_day_row(t) {
return '<td class="ds_subhead">' + t + '</td>';
}

function ds_template_new_week() {
return '</tr><tr>';
}

function ds_template_blank_cell(colspan) {
return '<td colspan="' + colspan + '"></td>'
}

function ds_template_day(d, m, y) {
return '<td class="ds_cell" onclick="ds_onclick(' + d + ',' + m + ',' + y + ')">' + d + '</td>';
}

function ds_template_main_below() {
return '</tr>'
+ '</table>';
}

function ds_draw_calendar(m, y) {
ds_ob_clean();
ds_echo (ds_template_main_above(ds_monthnames[m - 1] + ' ' + y));
for (i = 0; i < 7; i ++) {
ds_echo (ds_template_day_row(ds_daynames[i]));
}
var ds_dc_date = new Date(y,m-1,1);
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
days = 31;
} else if (m == 4 || m == 6 || m == 9 || m == 11) {
days = 30;
} else {
days = ((y % 400 == 0 || y % 4 == 0 && y % 100 != 0) ? 29 : 28); }
var first_day = ds_dc_date.getDay();
var first_loop = 1;
ds_echo (ds_template_new_week());
if (first_day != 0) {
ds_echo (ds_template_blank_cell(first_day));
}
var j = first_day;
for (i = 0; i < days; i ++) {
if (j == 0 && !first_loop) {
ds_echo (ds_template_new_week());
}
ds_echo (ds_template_day(i + 1, m, y));
first_loop = 0;
j ++;
j %= 7;
}
ds_echo (ds_template_main_below());
ds_ob_flush();
ds_ce.scrollIntoView();
}

function ds_sh(t) {
ds_element = t;
var ds_sh_date = new Date();
ds_c_month = ds_sh_date.getMonth() + 1;
ds_c_year = ds_sh_date.getFullYear();
ds_draw_calendar(ds_c_month, ds_c_year);
ds_ce.style.display = '';
the_left = ds_getleft(t);
the_top = ds_gettop(t) + t.offsetHeight;
ds_ce.style.left = the_left + 'px';
ds_ce.style.top = the_top + 'px';
ds_ce.scrollIntoView();
}

function ds_hi() {
ds_ce.style.display = 'none';
}

function ds_nm() {
ds_c_month ++;
if (ds_c_month > 12) {
ds_c_month = 1;
ds_c_year++;
}
ds_draw_calendar(ds_c_month, ds_c_year);
}

function ds_pm() {
ds_c_month = ds_c_month - 1;
if (ds_c_month < 1) {
ds_c_month = 12;
ds_c_year = ds_c_year - 1;
}
ds_draw_calendar(ds_c_month, ds_c_year);
}

function ds_ny() {
ds_c_year++;
ds_draw_calendar(ds_c_month, ds_c_year);
}

function ds_py() {
ds_c_year = ds_c_year - 1;
ds_draw_calendar(ds_c_month, ds_c_year);
}

function ds_format_date(d, m, y) {
m2 = '00' + m;
m2 = m2.substr(m2.length - 2);
d2 = '00' + d;
d2 = d2.substr(d2.length - 2);
return d2 + '/' + m2 + '/' + y;
}

function ds_onclick(d, m, y) {
ds_hi();
if (typeof(ds_element.value) != 'undefined') {
ds_element.value = ds_format_date(d, m, y);
} else if (typeof(ds_element.innerHTML) != 'undefined') {
ds_element.innerHTML = ds_format_date(d, m, y);
} else {
alert (ds_format_date(d, m, y));
}
}


</script>
</HEAD>
<form action="" method="post">
<div>
<input onclick="ds_sh(this);" name="date" readonly="readonly" style="cursor: text" /><br />
</div>
</form>



Merci d'avance si quelqu'un peut m'aider, et désolé si je poste pas sur la bonne rubrique voire sur le bon forum ^^'
lundi 28 février 2011 à 23:37:02 | Re : Modification calendrier

007Julien


Deux modifications sont à opérer
Code Javascript :
// Décaler les jours de la semaine en remplaçant
for (i=0;i<7;i++){ds_echo (ds_template_day_row(ds_daynames[i]));}
// par 
for (i=0;i<7;i++){ds_echo (ds_template_day_row(ds_daynames[(i+1)%7]));}

// Décaler le premier jour en modifiant
var first_day = ds_dc_date.getDay();
// pour écrire 
var first_day = (ds_dc_date.getDay()+6)%7;

Le code mériterait cependant quelques optimisations...
Code Javascript :
// En remplaçant par exemple les horribles lignes suivantes
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
days = 31;
} else if (m == 4 || m == 6 || m == 9 || m == 11) {
days = 30;
} else {
days = ((y % 400 == 0 || y % 4 == 0 && y % 100 != 0) ? 29 : 28); }

// par la simple instruction 
days=new Date(y,m,0).getDate(0);

Le nombre de jour d'un mois est, en effet, donné par le quantième de son dernier jour correspondant, en javascript, au jour 0 du mois suivant.



Cette discussion est classée dans : function, var, template, ds, el


Répondre à ce message

Sujets en rapport avec ce message

probleme insertion [ par tchaw ] bonjour, jai un formulaire qui contient des données et je veux inserer ces donnée à la base mysql. jai préparé la page et la base mais lorsque je fait calendrier [ par Abdoul86 ] Bonjour, je ne sais pas si c'est dans cette partie du forum que je peux poser probleme. Bon, j'ai copier un code de calendrier pour l'appeler sur une Renvoyer une requête le X second [ par alvinemambele ] Slt je suis entrain de faire un Tchat en Ajax, l'envoie de la raquette se passe bien saut je suis bloquer au niveau d'actualisation de raquette pour v Api google map [ par piep14 ] Bonsoir, je viens vous demander de l'aide car je tourne en rond pour mettre en place l'api google map sur un siteJ'ai fait :function carte($VILLE,$CP, Classe Connexion.php la plus simple possible .... [ par Tartuffe245 ] Bonjour à tous,J'ai créé une classe connexion pour mon site internet et il se trouve que j'ai une erreur qui revient souvent mais je ne sais pas comme Récupérer date dans un datepiker [ par vargas ] Bonjour je chercher depuis des heures comment récupérer la date d'un datepiker qui se trouve dans un des mes formulaire pour l'enregistrer dans une b probleme en ajax/js [ par dacosta67 ] Bonjour , J'ai souhaite afficher le chargement de mon image et le résultat de mon script php.D'aprés firefox mon erreur est au niveau de :objetXHR.op Question pour monter de classe ! [ par tibine974 ] Bonjour , Voila je voudrais appeler une fonction à l'intérieur d'une autre fonction. Mais qd je fais cela , il me dit : " Fatal error: Call to undef Uploader un fichier sur flash via php [ par cendrillon84 ] Bonjour, J'ai trouvé un uploader pour télécharger des fichiers a partir d'un formulaire flash avec du php mais le fichier téléchargé s'enregistre dans inclusion d'une classe provenant d'un autre fichier [ par lilippx ] salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)je n'arrive pas à instancier un ob


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales