CALENDRIER DE SAISIE PHP ET JAVASCRIPT

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 7 déc. 2005 à 19:01
l69 Messages postés 2 Date d'inscription dimanche 20 juin 2010 Statut Membre Dernière intervention 6 octobre 2012 - 8 mai 2012 à 15:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34968-calendrier-de-saisie-php-et-javascript

l69 Messages postés 2 Date d'inscription dimanche 20 juin 2010 Statut Membre Dernière intervention 6 octobre 2012
8 mai 2012 à 15:27
Bonjours, je l'ai adapté un peut car il y marchait pas au début, j'ai juste un problème:
je dois avoir la date comme ça: 2012-05-15 et je l'obtiens comme ça: 08/05/2012

Comment faire ?
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
27 oct. 2010 à 17:31
Non, c'est un problème d'évènement.
Dans votre source, si vous l'affichez, elle devrait être de la forme :

Or, nous ne voulons pas ouvrir le calendrier sur l'évènement onclick ou autre, il faut donc laisser l'évènement onClick sur le bouton (image de calendrier) prévu à cet effet.

Il se pourrait aussi que le nom du bouton soit le même que celui de votre calendrier... à vous de faire la vérification !

Bon courage.
cs_saille Messages postés 8 Date d'inscription vendredi 27 novembre 2009 Statut Membre Dernière intervention 15 février 2013
27 oct. 2010 à 15:58
Bonjour DJROULO,

Je voulais tester ce calendrier, qui semble correspondre exactement à ce que je cherche. J'ai téléchargé les .zip, créé les dossiers images/css et js et j'ai basculé les obets adéquat dedans.
Mais quand je teste le formulaire test.php4 le calendrier s'affiche au moment où je positionne le curseur dans la date, après choix ma date est bien alimentée, mais le calendrier s'ouvre à nouveau et systématiquement.

Je n'ai absolument rien modifié dans les pages téléchargées. Ce ne devrait donc pas être un problème de noms de champs ?

Merci de votre aide
saille
gildelau Messages postés 5 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 9 septembre 2010
9 sept. 2010 à 18:47
Bonjour DJROULO

Merci pour votre promptitude à répondre. Comme je vous le disais je débute et en fait je me suis aperçu que je n'executais pas mon code sous www, donc ça ne pouvait pas marcher. Maintenant c'est OK et ça marche super bien. Je vous remercie encore pour ce code. Bravo et surtout merci pour votre disponibilité.

Gildelau
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
9 sept. 2010 à 17:48
Vous affichez directement le code alors que la page devrait être interprétée par l'application PHP.

Vous devez faire en sorte que votre Apache utilise les extension PHP et PHP4.

Allez voir cela dans httpd.conf / Section "Application".
gildelau Messages postés 5 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 9 septembre 2010
9 sept. 2010 à 16:42
Bonjour,

Je suis débutant en php et js, j'ai téléchargé le zip, crée les sous répertoire images, js, css. J'ai renommé mes php4 en php. Mais quand j'execute test.html dans firefox, j'obtiens bien la bonne fenetre avec les icônes et tout et tout ... Par contre dès que je demande d'afficher le calendrier, voilà ce que j'obtiens :

"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"); } ?>
" method="post">«

" method="post">" />«

" method="post">

" method="post">»

" method="post">»

" method="post">«

" method="post">

" method="post">" />»
$premier_jour_mois) AND ($k<$nombre_jours_mois)) { echo ($k==date("j"))?("\t\t\n"):("\t\t\n"); } else{ if ($k<$premier_jour_mois AND $k>0) { echo "\t\t\n"; } else{ echo "\t\t\n"; } } if ($num_col==6) {echo "\t\n\t\t";} $num_col=($num_col+1)%7; $bg++; } ?>
$jour_aff $jour_aff $jour_aff

Je ne sais pas si j'ai oublié quelque chose, à mon avis oui mais même en lisant tous les commentaires, je n'arrive pas à résoudre mon problème avec ce qui a été déjà posté. Si quelqu'un peut m'aider.
Merci d'avance.

Gildelau
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
26 avril 2010 à 15:04
Les balises <form> ... </form> contiennent obligatoirement votre code où se trouve le calendrier de saisie.

Si vous utilisez :
<form>
...
<form [celui du calendrier]>

</form>
</form>

Alors cela ne fonctionnera pas. Un formulaire ne peut pas contenir de formulaire imbriqué.

Vous devez adapter votre code existant et rajouté juste le code HTML de saisie de date, c'est à dire :
- le code javascript
- le code de la validation du formulaire
- le code input

Bon courage.
sabiini Messages postés 6 Date d'inscription mercredi 8 juillet 2009 Statut Membre Dernière intervention 26 avril 2010
26 avril 2010 à 14:23
Bonjour,
C'est un super code qui marche genial.
Mais j'ai une question s'il vous plait. J'essaie de l'integrer dans un formulaire mais je n'arrive pas il faut fermer le formulaire dejà ouvert pour pouvoir integrer le calendrier.
Comment puis-je faire
SVP c'est urgent
Merci d'avance
aperitif31 Messages postés 1 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 7 janvier 2010
7 janv. 2010 à 14:14
Génial ! Merci
jpkirkbride Messages postés 3 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 novembre 2009
19 nov. 2009 à 15:52
Un grand merci pour la somme de mes petites erreurs... le javascript ! faut que je m'y mettre !

et bravo pour ton script qui est très souple, j'ai pu facilement modifier la plage d'années et j'ai aussi pu modifier le format de la date.

merci !
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
19 nov. 2009 à 14:15
Erratum :
pour Votre formulaire, il devrait être de la forme : onsubmit="return valide_form_creation('form_creation');"
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
19 nov. 2009 à 14:14
Hello !
- Votre bouton submit devrait être de la forme :

- Votre formulaire devrait être de la forme :
<form name="form_creation" onsubmit="valide_form_creation('form_creation');"

- Les fonctions Javascript ne sont plus échapées par <!-- --> mais par CDATA, voire documentation sur Internet à ce propos.

- ajouter type="text/javascript" à votre balise <script></script>
jpkirkbride Messages postés 3 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 novembre 2009
19 nov. 2009 à 14:05
Merci pour ton soutien DJROULO, d'autant que ton code fonctionne très bien ! c'est seulement un problème javascript autre que je rencontre. J'ai fait les modifs comme proposé et le formulaire submit SANS controler le contenu (sans controler la fonction appelé par le submit)

je ne sais pas comment résoudre...
si tu as une idée.... en attendant je vais essayer avec firebug si je peux repérer un truc.

mon formulaire :

début formulaire :
<form id="form_creation" name="form_creation" method="post" action="gestion_identites.php">
<script language="javascript" type="text/javascript">
//déclaration de la fonction
function openCalendar(form, field, type) {
.....
}
</script>

dans le formulaire :
<td>[javascript:openCalendar('form_creation','arrivee','date') ]</td>

fin de formulaire, dans la déclaration du bouton submit :

</form>

avant le <head> :

<script language="javascript"><!--
function valide_form_creation(form_name) {
if((form_name.form_prenom.value=="") || (form_name.form_prenom.value==null)){
document.open="Merci de saisir le PRENOM !";
alert(document.open);
return false;
} else {
document.getElementById(form_name).submit();
return true;
}
}
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
19 nov. 2009 à 12:09
Il y a plusieurs solutions :
- Utiliser Firebug si vous utiliser FireFox
- Utiliser Devbar si vous utiliser IE7

- Pour l'appel au javascript valide_form_submit(), je l'écrirait autrement :
Prototype : valide_form_sumbit(form_name)
Appel depuis le bouton : onclick="valide_form_submit('form_creation');"
Code de le fonction : else{
document.getElementById(form_name).submit();
return true;
}

L'autre solution consisterait à remplacer button par submit, et ajouter onsubmit="valide_form_submit('form_creation');" à la balise <form>.

Bon courage !
jpkirkbride Messages postés 3 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 19 novembre 2009
19 nov. 2009 à 11:58
Bonjour,
je suis en trains de tester mais j'ai un petit soucis. Le calendrier fonctionne bien (après renommage de tout php4 en php et création de sous-répertoires css/ js/ images/ afin d'y mettre les fichiers qui vont bien).

voilà mon soucis.
Dans mon formulaire, sur le bouton "submit", je demande à une fonction de valider le formulaire si certains champs sont saisis. Cela fonctionne bien mais depuis que j'ai ajouté le code pour intégrer le calendrier : mon formulaire ne se submit plus.

je n'arrive pas à comprendre où cela bloque si qq'un pouvait un oeil !

jean-paul

formulaire :
<form id="form_creation" name="form_creation" method="post" action="gestion_identites.php">

je déclare le script dans le formulaire :
<script language="javascript" type="text/javascript">
/**
* Opens calendar window.
* @param string calendar.php
* @param string form name
* @param string field name
* @param string edit type - date/timestamp
*/
function openCalendar(form, field, type) {
window.open("calendar.php", "Cal", "width=400,height=250,status=yes");
dateField = eval("document." + form + "." + field);
dateType = type;
}
</script>

dans mon formulaire, pas mal de choses dont :
echo "<td>Date arrivée : </td><td>";
echo "</td>";

fin de formulaire :
echo "<tr><th colspan="4"></th></tr>";
echo "</table>";
echo "</form>";

// cette fonction validate_form est positionnée dans les balises html après les métas mais avant le header

<script language="javascript"><!--
function valide_form_creation(form) {
if((form.form_prenom.value=="") || (form.form_prenom.value==null)){
document.open="Merci de saisir le PRENOM !";
alert(document.open);
return false;
} else {
form.submit();
return true;
}
//-->
</script>
mohamedsalma Messages postés 1 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 23:45
SALUT
je suis un debutant a la domaine d'informatique je fais une copie de code php de la calendrier et je travail avec une version1.6 mais la calendrier ne marche pas
je te demande quel qu'un me guide pas a pas pour mieux comprendre
merci
onlyge Messages postés 22 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 7 avril 2010
18 janv. 2009 à 21:29
Merci pour ce script, super! Est-il possible de mettre les fichiers en .php et non .php4?

Autre chose, tout fonctionne sauf quand je sélectionne une date dans le calendrier, celle-ci n'apparait pas dans le champ par la suite. J'ai utilisé la fonction php

create_input_date("Votre date de naissance","form_caltest","caltest",10,10,NULL,NULL);

J'arrive à faire afficher la date du jour et a supprimer les infos du champs. Mais ça ne marche pas pour avoir la date tiré du calendrier... Avez-vous une id de l'erreur? J'ai pas touché aux fichiers sources du tout..!
frank_85 Messages postés 6 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 25 août 2008
11 sept. 2008 à 11:45
je viens d'installer ce script mais j'ai beau cliquer sur une date rien ne se passe...des erreurs dans les scripts? Quelqu'un a-t-il des infos ou uen version "finale" modifiée par les différentes remarques des posts?
Merci!!

Frank
cs_baldy Messages postés 7 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 24 octobre 2008
9 juin 2008 à 14:33
Premier problème régler, visiblement le .php4 ne plaisait pas au navigateur. Donc la pop up s'ouvre bien maintenant. Le soucis secondaire, c'est que celle ci le code s'affiche comme du HTML à partir de :

# "Janvier","Février",etc...

En regardant le code source on dirait qu'il "sort" du PHP dès l'ouvrture d'une simple ou double quote.
cs_baldy Messages postés 7 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 24 octobre 2008
9 juin 2008 à 09:45
Bonjour

Je tente à l'heure actuelle de comprendre et d'intégrer ce code.

Après un rapide tour sur les différentes pages, j'ai tenté de tester simplement le code. 2 soucis se posent à moi :

- quand je clic sur la première images (censée ouvrir le calendrier de saisie je suppose) le navigateur (FF) m'ouvre la fenêtre habituel de téléchargement et me propose d'ouvrir le fichier "calendar.php4" via un éditeur de texte ...

- quand on clic sur l'icone permettant d'ajouter la date du jour il affiche "10/06/2006", pas très utile comme bouton, non?
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
21 avril 2008 à 13:32
Ca y est j'ai trouvé !
L'ID de ton input et le name sont pareil !!!
Or, pour que ça marche, il faut que l'id soit du style : id_hello et le name : hello.
Essaye et ça devrait passer.
Sinon utilise le générateur de input type calendrier....
reisduif Messages postés 3 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 4 avril 2008
4 avril 2008 à 13:40
Bonjour DJROULO,

tout d'abord, je tiens à vous remercier pour votre réponse rapide à mon message.

En fait, voici la page test que j'utilise :

<form id="form_caltest" name="form_caltest" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
<?php
create_input_date(\"Votre date de naissance\",\"form_caltest\",\"caltest\",10,10,NULL,NULL);
?>

</form>

En fait, je ne comprends pas très bien comment la valeur du calendrier que l'on sélectionne est rapatriée vers le formulaire qui appelle ce calendrier ?

Merci d'avance pour votre aide

Thierry

P.S. : en cas de problème persistant, puis-je vous fournir les sources ?
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
4 avril 2008 à 12:09
Je pense que votre problème se situe dans le nommage de votre formulaire ainsi que le nommage de votre input_text.

Vérifiez bien encore une fois que votre formulaire se nomme :
form_calendrier_test
Que votre input text se nomme (name) et que son Id est :
input_cal - id_input_cal
Afin de ne pas vous tromper, je vous propse d'utiliser la fonction PHP :
create_input_date("Votre date de naissance","form_calendrier_test","input_cal",10,10,NULL,NULL);


Si vous n'arrivez toujours pas à le faire marcher, alors vérifiez bien que votre browser comporte les bonnes normes (utilisez Firefox ou IE7).
Ce calendrier est basé sur celui de PhpMyAdmin alors tout le mondre devrait être en mesure de l'utiliser :-) le javascript est importé depuis PMA...
reisduif Messages postés 3 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 4 avril 2008
4 avril 2008 à 09:05
Bonjour,

j'ai donc utilisé votre formulaire qui est très intéressant mais je ne parviens pas à afficher la date dans le champ concerné.

En fait, quand je clique sur une date du calendrier, je reçois une erreur javascript.

Exemple :

Je sélectionne le 24/04/2008 et il appelle la fonction suivante : javascript:returnDate('24/04/2008').

Voici le message :

Error on page.

Détail :

Line: 1
Char: 1
Error: Object Expected
Code: 0
URL: http://www.etat-des-lieux-facile.be/Temp/Calendar/calendar.php4

Merci d'avance pour votre aide

Titi
Jaick Messages postés 3 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 30 décembre 2008
30 nov. 2007 à 01:13
Boujour,

Tout d'abord merci pour ce bon calendrier, c'est justement ce dont j'avais besoin pour mon site.

Cependant j'ai un petit problème :
Quand je click sur le champs où doit s'afficher la date, le calendrier s'ouvre (firefox bloque le popup mais c'est pas l'objet de mon problème) et lorsque je saisie ma date ou que je ferme la fenêtre, elle s'ouvre à nouveau.
Je dois mettre le curseur sur un autre champs de mon formulaire pour pouvoir enfin la fermer.

Cela vient-il de mes navigateurs (même problème pour ie7 et firefox) ou bien du code lui même?

Merci :)
sellig60 Messages postés 150 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 22 juin 2007
22 juin 2007 à 17:45
Salut
Il me semble que la réponse est ici:
# <?php
# $annee_depart = 1920;
# $annee_max = date("Y")+1; 

lignes 79 et 80 du script calendar.php4
Sell
hug4u Messages postés 1 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 22 juin 2007
22 juin 2007 à 12:11
Hello,

J'ai une petite question,
Comment faire afin de changer les dates de début et de fin du calendrier?

Il commence en 1920 (trop loin) et finit en 2008 (trop proche)
sellig60 Messages postés 150 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 22 juin 2007
17 mai 2007 à 22:56
Alors là! Chapeau ! Moi aussi je lorgnais avec envie vers ce système de remplissage de champ date dans une zone de texte que l'on trouve dans phpmyadmin mais je suis trop nul encore en php et javascript pour le faire moi-même.
Merci car cela m'évite de m'arracher les cheveux pour le faire.
Sellig60
mikaelcom Messages postés 1 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 29 mars 2007
29 mars 2007 à 15:27
Merci!!!
Franchement, j'avais regardé le code de phpmyadmin et j'avais cracké..
T'as géré, trop bien, trop beau, je vais enfin pouvoir faire ce que je voulais !!
:)
Encore merci!!!
le papa de greg Messages postés 2 Date d'inscription dimanche 24 septembre 2006 Statut Membre Dernière intervention 25 septembre 2006
25 sept. 2006 à 12:36
OK, en plein dans le mil, merci
Bel outil, pratique, et facile à intégrer dans une application php
Bravo
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
25 sept. 2006 à 10:13
Je pense que tu n'as pas copie entierement le repertoire /images fourni dans la source.
Dans ce repertoire se trouve tous les fichiers necessaire a la creation des boutons permettant d'afficher les icones d'assistance de lancement du pop-up calendrier.
De meme pour le fichier css, c'est pour cela que tu n'as pas de style (couleur de fond, police sympa, date du jour en gras...)
Pour le warning, la fonction getimagesize plante lorsque le stream (le fichier) n'es pas trouve, donc rien de plus normal si tu n'as pas tout copier ;-)

Mon conseil :
- copier les images necessaires pour le calendrier dans le repertoire /images (necessaire pour req_buttons.php4 et calendar.php4)
- copier la feuille de style dans le repertoire /css
- copier le javascript dans /js
- bien regarder les references faites depuis : req_buttons.php4, test.php4 et calendar.php4 (tous utilisent la meme feuille de style)

Renommer les fichiers de ce code source pour que cela match avec ton application mais attention aux references dans calendar.php4 et test.php4

Bonne chance :-)
le papa de greg Messages postés 2 Date d'inscription dimanche 24 septembre 2006 Statut Membre Dernière intervention 25 septembre 2006
24 sept. 2006 à 03:04
Hello! ce calendrier semble convenir à merveille à mon application ... mais chez moi, il n'est pas css'isé, y'a pas d'couleurs... et ça m'affiche Warning: getimagesize(images/logout.gif): failed to open stream: No such file or directory in c:\php\client\agenda\req_buttons.php4 on line 30
nota:
je travaille avec firefox et easyPHP en local pour l'instant avant de mettre en ligne sur un intranet société
merci de tes lumières
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
13 sept. 2006 à 20:41
Ok alors première chose à faire dans ces cas là, c'est regarder que tu as bien fait générer ta case input par la fonction

create_input_date("Votre date de naissance","form_caltest","caltest",10,10,NULL,NULL);

A partir de là, regarde bien que :
- le name de ton formulaire est bien form_caltest
- le name de ton input text est bien caltest et son id est bien id_caltest

Est-ce une erreur javascript, dans ce cas, c'est à cause du nommage du formulaire de ta page de base (la page comportant l'input text) ?
Est-ce une erreur PHP, peux-tu me donner la Stack Trace et ta source modifiée je jète un coup d'oeil.

Est-tu sûre d'avoir bien mis tous les fichiers requis (req_*.php) dans le répertoire courant ?
elsadelatoundra Messages postés 126 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 3 juillet 2008
13 sept. 2006 à 11:53
Salut DJROULO,

Je suis débutante en PHP mais je dois intégrer un calendrier aidant à la saisie de dates dans un projet.

Quand je veux tester ton calendrier, une "erreur sur la page" empêche la fermeture du pop up et la récupération de la date choisie quand je clique sur un jour ... je ne sais pas du tout d'où ça peut venir et je pense que tu en sais plus que moi à ce sujet ;-)

Je te remercie d'avance pour ton aide, bonne continuation !!
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
22 août 2006 à 13:57
Ca fait un moment que je doit repondre... alors voici :
- Pour la date au format ISO yyyy-mm-dd il suffit de changer cela dans la source du fichier calendar.php4
- pour ce qui est de changer la couleur des jours suivants, il suffit de mettre un style="background: green" dans la balise TD du jour que tu veux modifier.

Attention tout de meme, le but de ce calendrier est l'aide a la saisie et en aucun cas c'est un calendrier qui represente les jours speciaux (jours feries, dimanche, noel et jour de l'an et companie...)

SI vous avez d'autres suggestions je suis preneur :-)
cs_tonton39 Messages postés 1 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 21 août 2006
21 août 2006 à 11:53
Il serait interessent de pouvoir changer les couleur des jours suivant plusieur état paramétrable sur une db, pour par exemple mettre du vert pour libre et rouge pour occupé et tout autre ...
Utilisateur anonyme
13 juil. 2006 à 22:48
Enfin, le calendrier de saisie que je cherchais.

Le calendrier s'ouvre sur la date du jour... Serait-il possible qu'il s'ouvre sur la date déjà saisie dans le champs pour faciliter la mise à jour d'une date ?

Merci.

Jean-Michel.
voodoo_chile Messages postés 2 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 18 mai 2006
18 mai 2006 à 10:45
très utile ce petit calendrier et très simple à intégrer
j'ai juste modifier le format de renvoi de la date pour qu'il soit jj/mm/aaaa
sinon tout est nickel
sauf le fond vert :p lool
Utilisateur anonyme
15 mai 2006 à 11:03
Très bonne source, relativement simple à réutiliser et à adapter à ses besoins...

Merci.

Gyome
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
23 janv. 2006 à 10:51
GPL, je l'ai pas mis dans les commentaires, mais je vais dès à présent mettre une autre source de ce calendrier qui permet d'écrire au format jj/mm/aaaa et qui sera sous licence GPL.
Je vous propose de l'améliorer et de l'utiliser comme bon vous semble, fourvu que vous faisiez de bons sites avec :-)
Je vous donnerez des nouvelles sur cette source dans les news de cette source.
Bon codage et à bientôt, donc utilisation gratuite et partage tant que tu veux...
cs_momin84 Messages postés 1 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 20 janvier 2006
20 janv. 2006 à 12:23
Bonjour,
Je suis au point d'integrer ce calendrier à un de mes projets. Comment ça se passe pour la licence d'utilisation ? Est ce que j'ai le droit d'utiliser ce calendrier ?
Merci de me repondre
A très bientôt
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
9 janv. 2006 à 10:46
Pour ceux que ça intéresse, j'ai modifié le calendrier pour qu'il envoie une date au format français dd/mm/aaaa avec en PHP des scripts pour transformer la date en date mysql et détcter le format des dates...
Si vous le voulez faites moi signe...
cs_EagleEye Messages postés 17 Date d'inscription mardi 24 février 2004 Statut Membre Dernière intervention 8 janvier 2006
8 janv. 2006 à 12:14
Un calendrier ? Tiens interessant :)
Beau boulot :)
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 déc. 2005 à 12:41
Puisque tu me le demande...
Voici ce que je met dans mon fichier de configuration :



setlocale(LC_ALL,'fr','FR','FR_fr'); // LC_ALL => tout est en format français, tu eux limiter à LC_TIME pour les dates
// 'fr','FR','FR_fr' => PHP essaye ces différents format dans l'ordre... par exemple, pour un site québécois : 'CA_fr','fr','FR','FR_fr'
define('DATEISO','%Y-%m-%d %T'); // format MySQL : 2000-01-02 13:33:45
define('DATEFR_XL','%A, %e %B %Y à %R'); // format très long lundi, 2 janvier 2000 à 23:33:45
define('DATEFR_L','%A, %e %B %Y'); // format long : lundi, 2 janvier 2000
define('DATEFR','%e %B %Y'); // format classique : 2 janvier 2000
define('DATEFR_S','%a %e %b %y'); // format court : lun 2 jan 2000
define('DATEFR_XS',%d/%m/%y); // format très court : 02/01/00


Ensuite, il te suffit de faire :
echo strftime(DATEFR_XL, time());
pour avoir l'heure actuelle en format très long...


Autre chose, tu peux facilement faire l'opération inverse (SOUS PHP5) :
$str_time = strftime(DATEFR_XL, time());
$arr_time = strptime(DATEFR_XL, $str_time);
print_r($arr_time);
Array
(
[tm_sec] => 19
[tm_min] => 54
[tm_hour] => 15
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 104
[tm_wday] => 0
[tm_yday] => 276
[unparsed] => // ici, il y'aura tout ce que la fonction n'a pas compris
)

Sans PHP5, il y'a strtotime($str_time); mais cette fonction ne comprend pas le français... Donc à n'utiliser qu'avec les DATEISO (dates sorties de MySQL)


Voilà pour strftime... qui est bien mieux que date car parle français. Bien sur, je ne conseil que trop d'aller voir sur fr.php.net la notice d'tilisation de ces fonctions.

Après, tu as raison pour le calendrier Julien. Mais comme je fais des logiciel de gestion, je n'ai jamais eu à remonter jusqu'à JC... Mais bien sûr, pour le plaisir intellectuel, il est intéressant de savoir que son calendrier vaut pour toute l'air chrétienne.



Ne prends pas la mouche avec mon dernier message. (désol' si j'ai été un peu trop virulant). Par décéption, je me suis lancé dans mon propre calendrier... En Javascript/HTML uniquement.

J'en suis aux finitions. Si tu veux, je te filerais la source.

A+
djroulo Messages postés 25 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 21 octobre 2008
14 déc. 2005 à 09:18
Le calendrier gregorien date de 1582 et c'est celui que nous utilisons aujourd'hui.
Le calendrier julien me permet de calculer le numéro du jour de la semaine 1 soit le premier jour du mois que je calcule à la volée, par exemple : jour 1 du mois 4 est un Mercredi.

1 - La plupart des compilations de PHP incluent par défaut --enable-calendar
2 - Si ta version de PHP n'a pas l'option --enable-calendar activée, tu risque de ne pas pouvoir utiliser correctement le défilement de ces différentes fonctions...
3 - Pour l'affichage en Français. Les dates avec des zéros exemple : 2005-08-04 pour le 4 aout 2005.
Je ne connaissais pas set_local(LC_ALL,'fr'); mais si ça marche je te propose de nous le montrer, avec plaisir j'attends ta source préviens moi...
4 - Je n'utilise pas strftime car justement je calcule la date dans le format de mysql c'est-à-dire
'YYYY-MM-DD'
5 - Je vais rajouter des commentaires pour toi c'est promis je reverrai ma version je ferai une mise à jour.
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
13 déc. 2005 à 19:22
Marche pas...

L'idée est bonne pourtant ! Et ça fesait un moment que j'avais envie d'un calendrier... mais ce ne sera vraissemblablement pas celui-ci

1. Pour ceux qui utilise linux est qui n'ont pas compilé PHP avec --enable-calendar (et qui n'ont pas envi de ce le taper aujourd'hui)
Voici un petit patch rapide à mettre en haut de calendrier.php :
-----------------------------
if( !defined('CAL_GREGORIAN') ) define('CAL_GREGORIAN', 0);
if( !function_exists('cal_days_in_month') ) {
function cal_days_in_month($no, $month, $year) {
return date('t', mktime(0, 0, 0, 12, $month, $year));
}
}
if( !function_exists('jddayofweek') ) {
function jddayofweek($day, $no) {
return date('w'); // You can also specify a date
}
}
if( !function_exists('cal_to_jd') ) {
function cal_to_jd($no, $month, $day, $year) {
return date('z'); // You can also specify a date
}
}
-----------------------------------


2. Ensuite, le défilements des jours ne fonctionne pas avec mon FF (quand on change de mois ou d'année)... C'est un proiblème de JS, et là j'ai cracké...


3. Pourquoi ça ?
$mois_chiffre=array(1=>"01","02","03","04","05","06","07","08","09","10","11","12");
$mois_full=array(1=>"Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
//$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=array(1=>"Lu","Ma","Me","Je","Ve","Sa","Di");

Alors que ça :
set_local(LC_ALL, 'fr');
et strftime( X , mktime(,,,,));


4. Pourquoi les fonctions de calendrier qui sont destinées à convertir les calendriere entre eux ? Regarde mon patch... la fonction date, et strftime font très bien se que tu demandes à cal_...


5. Bien commenté !?!@#'\)('m,à"tr'"mojzkg)àj'"p ???

Des choses à revoir selon moi...
A+
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 déc. 2005 à 19:01
salut
ton code est bien documenté, et a l'air sympas, quelques petites remarques : dans req_calendrier.php, tu ne ferme pas ta balise php à la fin.
tu utilises des " comme des ' alors que les ' sont beaucoups plus rapides (sans changer ton code, juste en remplaçant tes " par des ', ton code serait optimisé... franchement, comme t'as pas beaucoups de modifications, ça vaut le coups...)
t'as quelques lignes de codes inutiles : dans req_bouttons.php
default:
break;
Bon, à part ça, ça a l'air pas mal
Bonne continuation
Rejoignez-nous