coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
7 déc. 2005 à 19:01
l69
Messages postés2Date d'inscriptiondimanche 20 juin 2010StatutMembreDerniè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.
l69
Messages postés2Date d'inscriptiondimanche 20 juin 2010StatutMembreDerniè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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és8Date d'inscriptionvendredi 27 novembre 2009StatutMembreDernière intervention15 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és5Date d'inscriptionlundi 11 février 2008StatutMembreDerniè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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és5Date d'inscriptionlundi 11 février 2008StatutMembreDerniè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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és6Date d'inscriptionmercredi 8 juillet 2009StatutMembreDernière intervention26 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és1Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention 7 janvier 2010 7 janv. 2010 à 14:14
Génial ! Merci
jpkirkbride
Messages postés3Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention19 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és3Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention19 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és3Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention19 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 !
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és1Date d'inscriptiondimanche 8 février 2009StatutMembreDernière intervention30 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és22Date d'inscriptionmardi 26 septembre 2006StatutMembreDerniè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és6Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention25 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és7Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention24 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és7Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention24 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és3Date d'inscriptiondimanche 30 mars 2008StatutMembreDerniè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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és3Date d'inscriptiondimanche 30 mars 2008StatutMembreDerniè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').
Jaick
Messages postés3Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention30 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és150Date d'inscriptionjeudi 14 août 2003StatutMembreDernière intervention22 juin 2007 22 juin 2007 à 17:45
hug4u
Messages postés1Date d'inscriptionmercredi 25 février 2004StatutMembreDernière intervention22 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és150Date d'inscriptionjeudi 14 août 2003StatutMembreDernière intervention22 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és1Date d'inscriptionjeudi 6 janvier 2005StatutMembreDernière intervention29 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és2Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention25 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és2Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention25 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és126Date d'inscriptionmercredi 13 septembre 2006StatutMembreDerniè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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és1Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention21 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 ...
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és2Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention18 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
Très bonne source, relativement simple à réutiliser et à adapter à ses besoins...
Merci.
Gyome
djroulo
Messages postés25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és1Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention20 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és17Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention 8 janvier 2006 8 janv. 2006 à 12:14
Un calendrier ? Tiens interessant :)
Beau boulot :)
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 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és25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 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és1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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
8 mai 2012 à 15:27
je dois avoir la date comme ça: 2012-05-15 et je l'obtiens comme ça: 08/05/2012
Comment faire ?
27 oct. 2010 à 17:31
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.
27 oct. 2010 à 15:58
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
9 sept. 2010 à 18:47
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
9 sept. 2010 à 17:48
Vous devez faire en sorte que votre Apache utilise les extension PHP et PHP4.
Allez voir cela dans httpd.conf / Section "Application".
9 sept. 2010 à 16:42
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
26 avril 2010 à 15:04
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.
26 avril 2010 à 14:23
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
7 janv. 2010 à 14:14
19 nov. 2009 à 15:52
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 !
19 nov. 2009 à 14:15
pour Votre formulaire, il devrait être de la forme : onsubmit="return valide_form_creation('form_creation');"
19 nov. 2009 à 14:14
- 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>
19 nov. 2009 à 14:05
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;
}
}
19 nov. 2009 à 12:09
- 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 !
19 nov. 2009 à 11:58
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>
30 mars 2009 à 23:45
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
18 janv. 2009 à 21:29
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..!
11 sept. 2008 à 11:45
Merci!!
Frank
9 juin 2008 à 14:33
# "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.
9 juin 2008 à 09:45
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?
21 avril 2008 à 13:32
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....
4 avril 2008 à 13:40
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 ?
4 avril 2008 à 12:09
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 :
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...
4 avril 2008 à 09:05
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
30 nov. 2007 à 01:13
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 :)
22 juin 2007 à 17:45
Il me semble que la réponse est ici:
lignes 79 et 80 du script calendar.php4
Sell
22 juin 2007 à 12:11
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)
17 mai 2007 à 22:56
Merci car cela m'évite de m'arracher les cheveux pour le faire.
Sellig60
29 mars 2007 à 15:27
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!!!
25 sept. 2006 à 12:36
Bel outil, pratique, et facile à intégrer dans une application php
Bravo
25 sept. 2006 à 10:13
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 :-)
24 sept. 2006 à 03:04
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
13 sept. 2006 à 20:41
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 ?
13 sept. 2006 à 11:53
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 !!
22 août 2006 à 13:57
- 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 :-)
21 août 2006 à 11:53
13 juil. 2006 à 22:48
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.
18 mai 2006 à 10:45
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
15 mai 2006 à 11:03
Merci.
Gyome
23 janv. 2006 à 10:51
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...
20 janv. 2006 à 12:23
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
9 janv. 2006 à 10:46
Si vous le voulez faites moi signe...
8 janv. 2006 à 12:14
Beau boulot :)
14 déc. 2005 à 12:41
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+
14 déc. 2005 à 09:18
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.
13 déc. 2005 à 19:22
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+
7 déc. 2005 à 19:01
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