CALENDRIER : ASSISTANT DE SAISIE DE DATE DANS UN FORMULAIRE
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006
-
14 mars 2005 à 20:57
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021
-
7 oct. 2009 à 21:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
// je prends l'exemple avec les variables du script ici et la 2e version de strtotime en chiffres
// admettons que l'on récupère les variables
// $listJour = 15
// $listMois = 012007
// il faut d'abord dissocier le mois de l'année
// on récupère les 2 premiers chiffres de la chaine $listMois avec la fonction substr
$mois = substr($listMois, 0, 2)
// ça donne $mois = 01
// puis les 4 derniers chiffres pour l'année
$annee = substr($listMois, 2, 4)
// ça donne $annee = 2007
// on colle tout ça en concaténation pour respecter le format de strtotime("1996-02-10 21:52")
$formate_date = $annee.'-'.$mois.'-'$listJour.' 00:00';
// si on omet l'heure 00:00 ça fonctionne aussi dans une certaine mesure
// puis on traite avec la fonction magique strtotime
$date_strtotime = strtotime($formate_date);
// maintenant la variable $date_strtotime est un tableau
// qui contient peut-être toutes les valeurs de la foncton date()
// voir sur http://fr2.php.net/manual/fr/function.date.php // j'ai pas tout testé :-)
// comme par exemple
// $joursemaine_anglais aura alors une de ces valeurs :
// Mon, Tue, Wed, Thu, Fri, Sat ou Sun
// il suffit d'un array pour convertir en français
$convertjoursemaine_en_fr array ('Mon'> 'Lu.', 'Tue' => 'Ma.', 'Wed' => 'Me.', 'Thu' => 'Je.', 'Fri' => 'Ve.', 'Sat' => 'Sa.', 'Sun' => 'Di.');
// à la place de 'Lu.' 'Ma.' ...etc on pourrait bien sûr mettre 'Lundi' "Mardi'
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 sept. 2008 à 07:51
Et la formule de Zeller dont tu parlais dans ton post du 17/10/06 ?
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 11 sept. 2008 à 20:39
dans mon post du 15/10/2006 21:28:19 je demandais en 2°
comment récupérer dans le menu déroulant de la page index.php aussi le jour de la semaine pour le conserver avec la date dans la base
(parce que je trouve important de savoir quel jour de la semaine tombe une date, si tu me demande si je suis libre le 22 mars 2012 je te demande : "ça tombe quel jour de la semaine ?")
tu veux aller de
gare/arrêt : bruxelles
à
gare/arrêt : Geraardsbergen
tu laisses par défaut la date et le reste et tu cliques sur [RECHERCHER]
et oh miracle sur la page de confirmation on peut voir
date : Je, 11/09/08
donc avec le jour de la semaine,
il y a un petit calendrier dans une popup comme dans le script ici
et si je clique sur 12 septembre j'ai
date : Ve, 12/09/08
donc C'EST POSSIBLE JE VEUX CE SCRIPT ! :-))))))
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 11 sept. 2008 à 20:08
bon alors puisque les codes de caractères spéciaux ne sont pas interprétés ici je redonne
le bon code php pour $convertmois
$convertmois array ("01"> "janv.", "02" => "fév.", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juil.", "08" => "août", "09" => "sept.", "10" => "oct.", "11" => "nov.", "12" => "déc.");
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 11 sept. 2008 à 20:05
Réponse à la question de serialmother le 11/02/2007 21:05:45
"la date avec un espace entre le mois et l'année ou avec le mois en lettres."
en php c'est un jeu d'enfant, c'est la variable $listMois qui renvoie le mois et l'année collés ensemble,
donc déjà cette variable est mal nommée.
puis on extrait les deux partie qui nous intéressent dans la variable $listMois
si $listMois = 012007
01 c'est le mois donc le morceau de chaîne de caractère à partir de la position 0 (c'est à dire le premier caractère)
et d'une longueur de 2 carctères
$moisdate = substr($listMois, 0, 2);
2007 c'est l'année, le morceau de chaîne à partir de la position 2 (3e caractère)
et d'une longueur de 4 caractères
$anneedate = substr($listMois, 2, 4);
donc dans notre exemple
$moisdate vaut 01
$anneedate vaut 2007
pour afficher le mois en lettres
echo $convertmois[$moisdate];
c'est à dire janv.
voilà
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 11 sept. 2008 à 19:23
Bonjour,
Quelle est l'erreur remontée ?
frank_85
Messages postés6Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention25 août 2008 11 sept. 2008 à 11:25
Bonjour,
je viens d'installer le script et malgré lecture de tous les posts je n'arrive pas à récupérer les différents éléments de date
afin de les utiliser pour un traitement de formulaire; j'ai essayé $listJour et $listMois mais cela me fait remonter une erreur.
Pour etre plus explicite sur mon but, je souhaite insérer ce script dans un formulaire qui comprendra d'autres champs puis effectuer un envoi par mail de toutes les données.
Un grand merci pour votre aide!
Frank
cs_Gecko62
Messages postés25Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention21 octobre 2012 21 janv. 2008 à 22:27
Pour utiliser deux fois ce formulaire, il suffit de nommer différement les paramètres associés
<tr>
<td>Date de début :</td>
<td>
" />
[#
]
</td>
</tr>
<tr>
<td>Date de fin :</td>
<td>
" />
[#
]
</td>
</tr>
Et voilà avec ce petit bout de code cela devrait fonctionner
BàV Gecko
jeanDresde
Messages postés1Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention21 janvier 2008 21 janv. 2008 à 21:49
Désolé d'arriver après la guerre, mais j'ai la même question que azymuth :
Bonjour et bravo pour ce script !
Comment utiliser "proprement" ce script 2 fois dans le même formulaire afin de traiter par exemple un champ date début suivi d'un champ date fin ?
Est-ce qu'une âme charitable renseignerais un newbie comme moi ?
chris_du_05
Messages postés3Date d'inscriptionmercredi 21 février 2007StatutMembreDernière intervention17 octobre 2008 7 déc. 2007 à 10:25
Cool ! Merci bcp pour ce code... J'te met une bonne note ;)
cs_azymuth
Messages postés1Date d'inscriptionmercredi 29 juin 2005StatutMembreDernière intervention20 février 2007 20 févr. 2007 à 00:41
Bonjour et bravo pour ce script !
Comment utiliser "proprement" ce script 2 fois dans le même formulaire afin de traiter par exemple un champ date début suivi d'un champ date fin ?
Merci
serialmother
Messages postés5Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention11 février 2007 11 févr. 2007 à 21:05
Je n'arrive toujours pas à récupérer dans une deuxième page de mon formulaire la date avec un espace entre le mois et l'année ou avec le mois en lettres.
Une âme charitable pourrait t'elle m'expliquer comment intégrer la fonction :
function Mois_fr($mon)
au début de cette dexième page
pour que <? echo $listMois ?> soit lisible ?
serialmother
Messages postés5Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention11 février 2007 25 janv. 2007 à 11:18
Bonjour,
Je reviens sur mon pb de récupération de données.
Dans le mail que je reçois avec les champs "$listJour" et "$listMois",
le mois est toujours collé à l'année et je n'arrive pas à faire d'espace.
Exemple 25 012007 - Comment faire pour récupérer 25 01 2007 ?
Est-ce possible ? Merci de me donner une piste...
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 15 janv. 2007 à 21:16
AZERT
pour poster la date dans une autre page
regarde dans le script ici en haut c'est la ligne 115
<form name="formInsert" id="formInsert" method="post" action="index.php">
il suffit de modifier action="index.php" par l'url de la page dans laquelle tu veux poster
puis dans ta page tu récupère les 2 variables
$listJour et $listMois
regarde-le fonctionner ici
http://qatsi.free.fr/test-calendrier/index.php dans mon test j'ai conservé action="index.php" parce que je veux une prévisualisation
la première fois qu'on arrive sur la page
$listJour et $listMois n'ont pas encore de valeur,
quand on poste dans index.php ils prennent les valeur du calendrier
$listJour = 15
$listMois = 012007
et cela grâce à l'astuce de
yakob59 le 20/05/2005 12:00:18
(que je remercie au passage)
les 6 lignes de php après function dateDansListe(){
et c'est là que je voudrais appliquer la formule de Zeller pour récupérer le jour de la semaine,
mais je n'ai pas encore fait de test... à suivre
azertr
Messages postés1Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention14 janvier 2007 14 janv. 2007 à 15:36
Bonjour !!! Merci pr le code de calendrier mais j'ai du mal à le POSTER à une autre page comment je peux faire SVP ?
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 16 déc. 2006 à 12:46
setlocale(LC_TIME,"fr") fonctionne chez free.fr et online.net
serialmother
Messages postés5Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention11 février 2007 15 déc. 2006 à 21:58
Pour ceux que ça intéresse, pour que les jours soient bien affichés en français, il faut modifier le code suivant :
setlocale(LC_TIME,"") par setlocale(LC_TIME,"fr")ou setlocale(LC_TIME,"fr_FR")ou setlocale(LC_TIME,"fr_FR.ISO8859-1")
en fait, ça dépend des serveurs...
serialmother
Messages postés5Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention11 février 2007 15 déc. 2006 à 21:38
Bonsoir mizushima,
Le calendrier fonctionne parfaitement bien en local sur mon PC avec easyphp, tout est en français.
Mais quand je le transfère sur mon serveur linux, tout passe en anglais. Je cherche à faire une modification pour le passer en anglais en local pour voir si ça va changer quelque chose sur le linux.
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 15 déc. 2006 à 19:50
alors là le commentaire de serialmother le 15/12/2006 18:35:53
ça me dépasse totalement.
Le code de ce script est peut-être naturellement et logiquement fait comme ça,
mais à mon niveau, je n'y trouve rien d'intuitif qui permette de comprendre quelque chose a son fonctionnement.
En php quand je veux convertir les mois en clair et en français, je fais ça :
array ("01" => "janv.", "02" => "fév.", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juil.", "08" => "août", "09" => "sept.", "10" => "oct.", "11" => "nov.", "12" => "déc.");
mais dans ce script je ne trouve aucune trace de variable chaine en clair,
non plus de nom de mois en anglais d'ailleurs, je ne sais pas d'où vous faites sortir ça.
Pour la formule de Zeller, le fait que le calendrier automatique sache bien faire concorder les jour de semaine avec les date laisse présentir qu'il doit bien y avoir quelque part dans le code un traitement de ce genre pour retrouver si tel jour de tel mois est un lundi ou un dimanche non ?
Alors pourquoi ne pas pouvoir récupérer aussi cette donnée dans le formulaire au rechargement ?
serialmother
Messages postés5Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention11 février 2007 15 déc. 2006 à 18:35
Bonjour,
Il a été répondu à jvergoby le 28/02/2006 d'utiliser la function Mois_fr($mon) //retourne le mois en lettre en français.
Dans la page suivante de mon formulaire, j'ai indiqué : <?=$listMois ?> qui s'affiche aussi "022006" et j'ai repris la fonction :
function Mois_fr($mon) //retourne le mois en lettre en français
{ setlocale(LC_TIME,""); return ucfirst(strftime("%B",strtotime("2002".sprintf("%02d",$mon)."01"))); }
mais la date s'affiche toujours en chiffre collé.
J'ai essayé d'insérer $listMois= Mois_fr($mm).' '.$anR;
ça reprend la date et l'année dans le bon format mais par défaut c'est le mois et l'année du jour :"décembre 2006"
Peux-tu m'indiquer s'il faut ajouter quelque chose à la fonction ? ou si c'est le $listMois qu'il faut modifier ?
merci
toniok05
Messages postés2Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention19 octobre 2006 19 oct. 2006 à 20:08
C'est encore moi ! Dans le post ci dessus il fallait lire : Comment faire pour afficher les dates en FRANCAIS SVP ??
Désolé pour l'erreur...
toniok05
Messages postés2Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention19 octobre 2006 19 oct. 2006 à 19:55
Bonjour à tous et bravo pour ce script.
J'ai le meme probleme que Mizushima, mes dates s'affichent en anglais.
Je n'ai pas modifié du tout la source...
Comment faire pour afficher les dates en anglais SVP ??
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 17 oct. 2006 à 19:55
alors pour le 1er point, une erreur javascript ?
j'ai seulement copié les 3 fichiers de phpcs_source_30101.zip
et j'ai toujours les mois en anglais dans le menu déroulant "choix de date"
2006
October 2006
November 2006
December 2006
2007
January 2007
February 2007
et caetera
pour la formule de Zeller en php
z = (E(2.6 *mz -0.2) +jj + az + (az div 4) + (sz div 4) - 2* sz) modulo 7)
le E majuscule doit être l'entier, je vais faire des test je vous dirais
merci
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 16 oct. 2006 à 10:44
Salut Mizushima,
- Pour ton 1er point, tu dois avoir une erreur javascript, non ? quelle est-elle ?
- Pour savoir à quel jour de la semaine correspond une date, tu peux comparer cette date avec une date fixe dont tu connais le jour (pourquoi pas le 15/10/06=dimanche).
Par exemple -> Quel jour est le 05/06/07 ? Tu calcules le nombre de jour entre cette date et le 15/10/06 = 233 jours je crois (de tête, mais il faut utiliser des fonctions javascript ou php)
le reste de la division 232/7 est 2 donc le 05/06/07 sera un mardi.
Je ne connaissais pas la "Formule de Zeller", mais je pense qu'elle est plus simple (et plus propre) que mon raisonnement. En cherchant un peu, je suis sur que tu arriveras à l'écrire en php...
Arn;o)
mizushima
Messages postés27Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention20 juin 2021 15 oct. 2006 à 21:28
Merci, je trouve ce code génial du fait que la récupération du choix dans calend.php arrive sur index.php en menus déroulants et pas en champs texte, je fais du php mais le javascript ça me dépasse complètement donc respect.
Deux petites questions
1°) je ne comprends pas comment on fait pour activer la fonction
function Mois_fr($mon) //retourne le mois en lettre en français
chez moi, les mois restent en lettre en anglais
quelque chose m'échape
2°) Puisque dans la popup calendrier, les jours de la semaine (Lundi, mardi... etc.) correspondent bien à la date (là encore c'est génial et ça me dépasse) serait-il possible de récupérer dans le menu déroulant de la page index.php aussi le jour de la semaine pour le conserver avec la date dans la base
(parce que je trouve important de savoir quel jour de la semaine tombe une date, si tu me demande si je suis libre le 22 novembre 2006 je te demande : "ça tombe quel jour de la semaine ?")
ou sinon y-a-t-il possibilité d'un post-traitement de la date pour le retrouver, je trouve sur google "Formule de Zeller" mais est-ce que ça se transcrit en php, je pousse peut-être le bouchon un peu trop loin :-)
merci
cs_gilels
Messages postés3Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 4 avril 2006 4 avril 2006 à 11:55
Je veux dire que plutot que, lorsque je selectionne le lundi 3 par exemple, de recuperer la date sous la forme yyyy-mm-dd, je puisse recuperer le numero de la semaine, par exemple 32.
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 4 avril 2006 à 11:43
Salut,
Qu'entends-tu par extraire, à quel moment ?
cs_gilels
Messages postés3Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 4 avril 2006 4 avril 2006 à 11:37
salut
Il y a t'il un moyen d'extraire le numero de la semaine ?
santy_lamy
Messages postés2Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention 2 avril 2006 2 avril 2006 à 13:02
merci arnal pour la précision...
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 2 avril 2006 à 10:48
Salut,
Quel message d'erreur as-tu ?
Quelle est la version de php que tu utilises (>=4.2.0 ?)
Tu dois pouvoir la remplacer par l'opérateur % :
Au lieu de
fmod(a,b)
utilises
a%b
if (fmod(($c-1),7)==0)
devient
if ((($c-1)%7)==0)
...
Arn;o)
santy_lamy
Messages postés2Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention 2 avril 2006 2 avril 2006 à 10:17
slt tt le monde moi j'ai essayé d'éxecuter le code et j'ai un message d'erreur
sur le fichier calend.php ligne 99 il trouve pas la fonction fmod()
jvergoby
Messages postés30Date d'inscriptionlundi 2 janvier 2006StatutMembreDernière intervention31 octobre 2006 28 févr. 2006 à 17:16
Salut Arnal,
je te remercie pour ta réponse.
A bientôt.
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 28 févr. 2006 à 17:11
Salut,
Il y a au tout début du code, une fonction qui fait ce que tu veux :
function Mois_fr($mon) //retourne le mois en lettre en français
Arn;o)
jvergoby
Messages postés30Date d'inscriptionlundi 2 janvier 2006StatutMembreDernière intervention31 octobre 2006 28 févr. 2006 à 10:56
Salut Arnal,
je viens de récupérer ton code, il est super et facilement intégrable dans mes scripts. Nickel. Juste une question, je récupère dans deux variables le jour et le mois que j'envoie dans une autre page pour faire une entête de page. Mais j'ai un soucis avec la date. Elle est au format :
exemple pour 28 février 2006 : 28 022006.
Comment faire pour récupérer le mois février en lettre et non en chiffre ?
Merci
rvcg
Messages postés1Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention 3 février 2006 3 févr. 2006 à 21:15
Merci pour ce précieux code !
Comment alimenter une variable ($date par exemple) au format date avant insertion dans la bdd à partir de ton code ?
Comment aussi utiliser 2 fois le script dans un même formulaire ($datedeb,$datefin).
Merci.
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 3 févr. 2006 à 09:35
Salut ohmusan,
Au lieu de modifier le mois de départ, tu peux modifier l'année (dans calend.php):
//mois et année actuels
$anR=date("Y")-1;
$mm=date("m");
Arn;o)
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 3 févr. 2006 à 09:26
Salut GILELS,
Tu peux ajouter un test sur le jour, dans la boucle de construction du tableau de calend.php :
...
if ($j<=$nbj)//nb jours du mois {
$titre=ucfirst(strftime("%A",strtotime("200408".sprintf("%02d",$jsem+1))))." $jj/$mois/$an";
if (fmod($c,7)!=0) { //si pas 7e colonne
echo '[javascript:lien(',($j-1),'); ',$j,']';
} else {
echo $j;
}
} else {
echo '
';
}
...
Je n'ai pas tester, mais ça doit être qqch dans le genre.
Ensuite, il peut être judicieux d'utiliser un style pour ces jours là, par exemple en mettant le texte en gris...
Arn;o)
cs_gilels
Messages postés3Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 4 avril 2006 2 févr. 2006 à 23:49
Salut et bravo pour ce petit calendrier bien pratique, il y a t'il un moyen de rendre non selectionnable certains jours , je pense aux dimanches par exemple.
Merci
ohmusan
Messages postés1Date d'inscriptiondimanche 18 décembre 2005StatutMembreDernière intervention15 janvier 2006 15 janv. 2006 à 13:37
Salut et merci pour ton code ! Depuis le temps que j'en cherchais un simple d'utilisation et propre !
Par contre, j'ai un piti pb : comme Yooooohito je voudrais pouvoir choisir des mois précédant le mois actuel mais en remontant au moins à 6 mois (voir un an)
Si je fais comme lui et que je mets "$mm=date("m")-12;", je me retrouve face à 12 fois "janvier 2006" mais pas trace de 2005...
J'ai bidouillé un peu mais sans obtenir de résultat satisfaisant... :(
HELP grand maître !
Je voudrais le modifier (newbie inside) pour pouvoir sélectionner le mois précédent la date du jour : Est-ce possible? et pourrais-tu me mettre sur la piste stp.
Ex : on est le 11 octobre 2005, je voudrais pouvoir sélectionner une date de septembre 2005
Merci d'avance
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 26 juil. 2005 à 18:11
j'ai ajouté l'image au zip, mais tu peux bien prendre celle que tu veux !
Arn;o)
inabil
Messages postés2Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention26 juillet 2005 26 juil. 2005 à 18:02
qd je telecharge le script, elle n'y est pas dedans?
envoie la moi si c possible par mail :
nazaca@caramail.com
merci
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 26 juil. 2005 à 17:55
cette croix rouge, c'est parce que l'image du "bouton" n'a pas été trouvée :
Il faut que tu places une image BCalend.gif dans ton répertoire.
C'est ton seul problème ?
inabil
Messages postés2Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention26 juillet 2005 26 juil. 2005 à 17:49
non pas du tout, simplement a la place du calendrier il y a une croix rouge ecrit a coté calendrier
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 26 juil. 2005 à 17:45
->inabil, as-tu cliqué sur "calendrier" ?
as-tu un message d'erreur ?
as-tu un avertissement de pop-up bloquée ?
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 26 juil. 2005 à 17:43
Pour que tout le monde en profite, voila un message de inabil :
--- inabil :
bonjour,
voila, j'ai esseyé d'executer le code mais ça marche pas.
Est ce qu'il y a une MAJ ou le probléme viens de chez moi.
merci d'avance
--- arnal69130 :
bonjour,
chez moi ça marche !
quel est ton problème ?
--- inabil :
voila, il y a les deux liste qui s'affiche ,mais le calendrier pas
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 11 juil. 2005 à 10:27
Bonjour Matsuda,
Peux-tu préciser un peu ta question... Ton problème vient-il de l'envoi du formulaire en POST, de la requête d'insertion dans ta BD, ou de la récupération de $mois et $année distinctement à partir du champ $moisAnnée ?
Arn;o)
cs_matsuda
Messages postés10Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention10 février 2011 8 juil. 2005 à 13:53
merci pour cette code!!
Je me demande seulement comment récupérer la date est les stoker dans 3 variable $jour $mois $annee dan une base de donnée apré validation du date?
merci..
yakob59
Messages postés4Date d'inscriptionvendredi 5 novembre 2004StatutMembreDernière intervention20 mai 2005 20 mai 2005 à 12:07
euh vous pouvez virer le alert(j.toString()); c'etait juste pour le debogage, pour moi mieux comprendre le truc.
En tout cas je le redis, MERCI ARNAL !
yakob59
Messages postés4Date d'inscriptionvendredi 5 novembre 2004StatutMembreDernière intervention20 mai 2005 20 mai 2005 à 12:00
C'est bon j'ai reussi grâce à tes conseils arnal. A toute fin utile, je joint la nouvelle fonction dateDansListe()
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 mai 2005 à 10:54
salut yakob,
mieux vaut tard que jamais...
Il faut que tu regarde la fonction javascript Date() :
http://fr.selfhtml.org/javascript/objets/date.htm Dans la fonction dateDansListe (index.php), dans mon script il n'y a pas de paramètre, donc on prend la date du jour.
Mais si tu mets une autre date en paramètre, c'est cette date qui sera sélectionnée.
En espérant t'avoir aidé,
Arn;o)
yakob59
Messages postés4Date d'inscriptionvendredi 5 novembre 2004StatutMembreDernière intervention20 mai 2005 2 mai 2005 à 15:51
Salut arnal !
Il est très bien ton script, il marche a fond, mais ya un ptit truc que j'arrive pas à faire avec :
ton code est fait pour etre encapsulé dans un formulaire. Tout est ok pour cela, les données sont bien intégrées dans ma base de données.
Mais j'ai également créé un autre formulaire pour faire des modifications, et la, je n'arrive pas à récupérer la date entrée dans la base de données, il me met toujours par défaut la date du jour.
Pourrais-tu m'aider, car pour moi le php ca va encore mais le javascript !!!! :-/
Merci d'avance
cs_cedricM
Messages postés3Date d'inscriptionvendredi 5 septembre 2003StatutMembreDernière intervention29 mars 2005 29 mars 2005 à 13:57
Merci beaucoup pour ton aide et de ta réactivité ! Cela va me permettre d'avancer dans mon projet.
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 29 mars 2005 à 12:08
Là, tu rejoins le code initiale de cette source, sauf que tu as un champ texte au lieu de combos ;o)
L'utilisation de getElementById('...') est, à mon avis, la plus efficace, la plus propre, et la plus portable (ou standard, comme tu veux).
Mais forcément, elle implique de mettre un attribut id="..." dans la balise du champ auquel tu veux accéder.
Dans ton exemple, il n'y a pas d'élément dont l'id est "cp", donc ça ne risque pas de marcher ;o)
Essaie ça :
<script type="text/javascript">
function lien(test) {
window.opener.document.getElementById('champCP').value='test';
}
</script>
Voila, j'espère que ça t'aidera. Si ça ne marche tjs pas comme tu veux, décris un peu plus précisemment ton problème. Juste dire «ça ne marche pas» n'est pas très explicite ;o)
Arno
cs_cedricM
Messages postés3Date d'inscriptionvendredi 5 septembre 2003StatutMembreDernière intervention29 mars 2005 29 mars 2005 à 10:25
Merci de ta réactivité!
pour l'IFRAME c'est ok, j'ai réussi mais tu as raison ce n'est surement pas la meilleure solution...
du coup j'ai essayé ce que tu m'as dit mais en changeant le nom de l'iframe par le nom d'un formulaire, ca doit marcher aussi non?
J'ai regardé des ex sur selfHTML et voila le code que j'ai fait et qui ne marche pas....
dans le popup
<script type='text/javascript'>
function lien(test) {
window.opener.parent.document.getElementById('cp').champCP = test;
}
</script>
dans la page princpale:
<form name="cp" action="valider.php" method="POST">
</form>
Je dois forcement utiliser les zones (id=...) ?
si tu pôuvais me lacer sur la bonne piste..
merci d'avance :)
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 29 mars 2005 à 09:59
Content que ça t'aide à avancer !
Pour répondre à ta question, je pense qu'il est tout à fait possible de modifier un champ dans une iframe de la page appelante à partir d'une popup.
En revanche, j'utiliserais plutôt une syntaxe du type window.opener.getElementById('NomIframe').élémentAmodifier que l'attribut target. A voir...
Arn;o)
cs_cedricM
Messages postés3Date d'inscriptionvendredi 5 septembre 2003StatutMembreDernière intervention29 mars 2005 29 mars 2005 à 09:45
SUPER!!!!! je cherchais à faire cette source depuis longtemps!!!! Merci à vous deux!
On peut même penser à mettre une variable dans l'appel de la fonction lien()
du style:
function lien(test) {
window.opener.parent.document.location.href='pageprincipale.php?test='+test; }
Ce qui laisse pas mal de possibilités ensuite sur la saisie de liste déroulante etc...
j'ai une question en plus pour vous, je sais que c'est plus du javascript que du php mais elle colle parfaitement aux commentaires précédents.
peut on mettre à jour des infos dans une iframe (ou autres mais c'est la seule solution que je vois) de la page principale toujours à partir du popup, sans recharger toute la page principale (pour éviter de tout resaisir?
en utilsant target... ou un truc du stule peut etre...
Merci
zevak
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 16 mars 2005 à 11:34
NB : Je sais pas pourquoi, mais le code source affiché est légèrement différent de celui que j'ai posté :
En javascript, il faut bien écrire Date() et getDate() avec un d majuscule !!!
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 15 mars 2005 à 18:11
J'ai essayé d'arranger un peu ça.
Merci stepibou pour tes suggestions.
Arnaud
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006 15 mars 2005 à 14:57
un arnal , des arnox...
merci, c bon grace à toi, voici mon script :
je sais c du javascript, et on est sur phpcs, mais bon,
on peut malheureusement pas y echaper, les sources recentes le montre.
voila ca marche, mais je suis obligé de traiter le formulaire dans la popup. c'est mieux dans un sens car ca rafraichi la page principale : (pour ceux que ca interesse, ce script ouvre une popup, traite un formulaire dans la popup, et ferme automatiquement la popup...)
------script de la page principale : ------
[# inscrivez vous!]
<script type="text/javascript">
function Openpop() {
window.open('diaporama.php','Fenupload','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=1,copyhistory=0,menuBar=0,width=400,height=200'); }
</script>
------script de la popup : ------
<?php
traitement du formulaire... avec un if bien sure...
print("<script type='text/javascript'>\n");
print("window.close();
</script>");
?>
<head>
<script type='text/javascript'>
function lien() {
window.opener.parent.document.location.href='pageprincipale.php'; }
</script>
</head>
tres bien, je te met 8 et pas 9, je t'explique pourquoi :
-dans tes balise html utilise des doubles quotes " et non '.
c'est mieux comme dirai grenard...
- le script marche mais je comprend pas tout y a pas de commentaire.
- et aussi y a des problemes dans l'insersion du javascript dans php : dans calend.php tu commence en javascript puis tu ouvre php à la ligne 44 alors que c le contraire c du javascript dans php. et surement encore des pbs de place de quotes,..
voila, bonne prog a tous <?php (o; !-) ?>
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 15 mars 2005 à 09:57
Salut Stepibou,
Si tu regardes d'un peu plus près mon calendrier, tu verras qu'il contient a un formulaire ;o)
Cela dit, dans ma source dans la popup on modifie la valeur d'un champ sur la page appelante.
Je ne suis pas sur que ce soit ça que tu veuilles faire, si ?
Dans ta popup, tu peux essayer de faire un formulaire avec action=popup, et au rechargement tu fermes la popup... ça donnerait un truc du genre :
/****popup.php****/
<?php
if (empty($_POST['ficUpload']))
{ echo "<form action='popup.php' ...>" formulaire d'upload..."; }
else
{ echo "<script type='text/javascript'>window.close();</script>"; }
?>
J'ai pas essayé, mais ça te permettera sans doute d'avancer...
Juste une petite suggestion, essaye d'écrire tes balises et attributs en minuscule, et avec des quotes autour des valeurs : [# ...]...
Au passage, il s'agit bien de javascript (et non pas de java qui n'a rien à voir) ;o) et les balises ouvrantes doivent être de la forme <script type="text/javascript">
a+
Arno
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006 14 mars 2005 à 20:57
hello arnal,
ca continue en php à ce que je vois,
c'est bien.
tu t'y connais pas mal en javascript, pas comme moi. ;-)
et c'est super cool, car c'est justemement ce que je cherchais, je galere en javascript, c un langage un peu chelou quand meme.
je veux ouvrir une popup, remplir un formulaire dans la popup ( avec upload), et l'envoyer dans la page principale, et fermer automatiquement la popup.
donc c un peu ce que tu fais sauf que t'as un calendrier, et non un formulaire dans ta popup.
j'ai essayé d'adapter un script tout nul et ca marche pas :
lien
<script language="Javascript">
function lien(url) {
eval("window.opener.parent.document.location.href='"+url'";");
window.close(); }
</script>
a metter dans le du lien:
onClick=lien('Page_a_appeler')
voila , donc si tu pouvais m'extraire de ta source, un script java et le reste, qui pourrai faire ca, avec dans la popup juste un bouton submit. ca serait tres sympas.
sinon je chercherai moi meme.
voila, sinon la source à l'aire tres bien. je noterai.
7 oct. 2009 à 21:51
// il y a des fonctions en php qui font ça très bien : mktime et strtotime
// choisir comment construire le contenu de la variable qu'on va traiter par ces fonctions
// $date_strtotime = mktime(21, 52, 0, 2, 10, 96); // 21h 52mn 0s 2eme-mois 10eme-jour année
// $date_strtotime = strtotime("10 February 1996 21:52");
// $date_strtotime = strtotime("1996-02-10 21:52");
// je prends l'exemple avec les variables du script ici et la 2e version de strtotime en chiffres
// admettons que l'on récupère les variables
// $listJour = 15
// $listMois = 012007
// il faut d'abord dissocier le mois de l'année
// on récupère les 2 premiers chiffres de la chaine $listMois avec la fonction substr
$mois = substr($listMois, 0, 2)
// ça donne $mois = 01
// puis les 4 derniers chiffres pour l'année
$annee = substr($listMois, 2, 4)
// ça donne $annee = 2007
// on colle tout ça en concaténation pour respecter le format de strtotime("1996-02-10 21:52")
$formate_date = $annee.'-'.$mois.'-'$listJour.' 00:00';
// si on omet l'heure 00:00 ça fonctionne aussi dans une certaine mesure
// puis on traite avec la fonction magique strtotime
$date_strtotime = strtotime($formate_date);
// maintenant la variable $date_strtotime est un tableau
// qui contient peut-être toutes les valeurs de la foncton date()
// voir sur http://fr2.php.net/manual/fr/function.date.php
// j'ai pas tout testé :-)
// comme par exemple
$jour_numerique = date("d", $date_strtotime);
$mois_numerique = date("m", $date_strtotime);
$annee_4_chiffres = date("Y", $date_strtotime);
// et donc ce qui nous intéresse le plus, le jour de la semaine en anglais, YOUPI !
$joursemaine_anglais = date("D", $date_strtotime);
// $joursemaine_anglais aura alors une de ces valeurs :
// Mon, Tue, Wed, Thu, Fri, Sat ou Sun
// il suffit d'un array pour convertir en français
$convertjoursemaine_en_fr array ('Mon'> 'Lu.', 'Tue' => 'Ma.', 'Wed' => 'Me.', 'Thu' => 'Je.', 'Fri' => 'Ve.', 'Sat' => 'Sa.', 'Sun' => 'Di.');
// à la place de 'Lu.' 'Ma.' ...etc on pourrait bien sûr mettre 'Lundi' "Mardi'
$joursemaine_fr = $convertjoursemaine_en_fr[$joursemaine_anglais];
// et on affiche le tout
echo $joursemaine_fr.''.$jour_numerique.''.$mois_numerique.''.$annee_4_chiffres;
// soit : Lu. 15 01 2007
// merci à Dany qui m'a donné le tuyau ;-)
12 sept. 2008 à 07:51
11 sept. 2008 à 20:39
comment récupérer dans le menu déroulant de la page index.php aussi le jour de la semaine pour le conserver avec la date dans la base
(parce que je trouve important de savoir quel jour de la semaine tombe une date, si tu me demande si je suis libre le 22 mars 2012 je te demande : "ça tombe quel jour de la semaine ?")
j'ai trouvé un site qui le fait,
celui des chemins de fer Belges
http://www.b-rail.be/main/F/
tu veux aller de
gare/arrêt : bruxelles
à
gare/arrêt : Geraardsbergen
tu laisses par défaut la date et le reste et tu cliques sur [RECHERCHER]
et oh miracle sur la page de confirmation on peut voir
date : Je, 11/09/08
donc avec le jour de la semaine,
il y a un petit calendrier dans une popup comme dans le script ici
et si je clique sur 12 septembre j'ai
date : Ve, 12/09/08
donc C'EST POSSIBLE JE VEUX CE SCRIPT ! :-))))))
11 sept. 2008 à 20:08
le bon code php pour $convertmois
$convertmois array ("01"> "janv.", "02" => "fév.", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juil.", "08" => "août", "09" => "sept.", "10" => "oct.", "11" => "nov.", "12" => "déc.");
11 sept. 2008 à 20:05
"la date avec un espace entre le mois et l'année ou avec le mois en lettres."
en php c'est un jeu d'enfant, c'est la variable $listMois qui renvoie le mois et l'année collés ensemble,
donc déjà cette variable est mal nommée.
Il faut pour commencer une variable array (à plusieurs cases)
$convertmois array ("01"> "janv.", "02" => "fév.", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juil.", "08" => "août", "09" => "sept.", "10" => "oct.", "11" => "nov.", "12" => "déc.");
puis on extrait les deux partie qui nous intéressent dans la variable $listMois
si $listMois = 012007
01 c'est le mois donc le morceau de chaîne de caractère à partir de la position 0 (c'est à dire le premier caractère)
et d'une longueur de 2 carctères
$moisdate = substr($listMois, 0, 2);
2007 c'est l'année, le morceau de chaîne à partir de la position 2 (3e caractère)
et d'une longueur de 4 caractères
$anneedate = substr($listMois, 2, 4);
donc dans notre exemple
$moisdate vaut 01
$anneedate vaut 2007
pour afficher le mois en lettres
echo $convertmois[$moisdate];
c'est à dire janv.
voilà
11 sept. 2008 à 19:23
Quelle est l'erreur remontée ?
11 sept. 2008 à 11:25
je viens d'installer le script et malgré lecture de tous les posts je n'arrive pas à récupérer les différents éléments de date
afin de les utiliser pour un traitement de formulaire; j'ai essayé $listJour et $listMois mais cela me fait remonter une erreur.
Pour etre plus explicite sur mon but, je souhaite insérer ce script dans un formulaire qui comprendra d'autres champs puis effectuer un envoi par mail de toutes les données.
Un grand merci pour votre aide!
Frank
21 janv. 2008 à 22:27
<tr>
<td>Date de début :</td>
<td>
" />
[#
]
</td>
</tr>
<tr>
<td>Date de fin :</td>
<td>
" />
[#
]
</td>
</tr>
Et voilà avec ce petit bout de code cela devrait fonctionner
BàV Gecko
21 janv. 2008 à 21:49
Bonjour et bravo pour ce script !
Comment utiliser "proprement" ce script 2 fois dans le même formulaire afin de traiter par exemple un champ date début suivi d'un champ date fin ?
Est-ce qu'une âme charitable renseignerais un newbie comme moi ?
7 déc. 2007 à 10:25
20 févr. 2007 à 00:41
Comment utiliser "proprement" ce script 2 fois dans le même formulaire afin de traiter par exemple un champ date début suivi d'un champ date fin ?
Merci
11 févr. 2007 à 21:05
Une âme charitable pourrait t'elle m'expliquer comment intégrer la fonction :
function Mois_fr($mon)
au début de cette dexième page
pour que <? echo $listMois ?> soit lisible ?
25 janv. 2007 à 11:18
Je reviens sur mon pb de récupération de données.
Dans le mail que je reçois avec les champs "$listJour" et "$listMois",
le mois est toujours collé à l'année et je n'arrive pas à faire d'espace.
Exemple 25 012007 - Comment faire pour récupérer 25 01 2007 ?
Est-ce possible ? Merci de me donner une piste...
15 janv. 2007 à 21:16
pour poster la date dans une autre page
regarde dans le script ici en haut c'est la ligne 115
<form name="formInsert" id="formInsert" method="post" action="index.php">
il suffit de modifier action="index.php" par l'url de la page dans laquelle tu veux poster
puis dans ta page tu récupère les 2 variables
$listJour et $listMois
regarde-le fonctionner ici
http://qatsi.free.fr/test-calendrier/index.php
dans mon test j'ai conservé action="index.php" parce que je veux une prévisualisation
la première fois qu'on arrive sur la page
$listJour et $listMois n'ont pas encore de valeur,
quand on poste dans index.php ils prennent les valeur du calendrier
$listJour = 15
$listMois = 012007
et cela grâce à l'astuce de
yakob59 le 20/05/2005 12:00:18
(que je remercie au passage)
les 6 lignes de php après function dateDansListe(){
et c'est là que je voudrais appliquer la formule de Zeller pour récupérer le jour de la semaine,
mais je n'ai pas encore fait de test... à suivre
14 janv. 2007 à 15:36
16 déc. 2006 à 12:46
15 déc. 2006 à 21:58
setlocale(LC_TIME,"") par setlocale(LC_TIME,"fr")ou setlocale(LC_TIME,"fr_FR")ou setlocale(LC_TIME,"fr_FR.ISO8859-1")
en fait, ça dépend des serveurs...
15 déc. 2006 à 21:38
Le calendrier fonctionne parfaitement bien en local sur mon PC avec easyphp, tout est en français.
Mais quand je le transfère sur mon serveur linux, tout passe en anglais. Je cherche à faire une modification pour le passer en anglais en local pour voir si ça va changer quelque chose sur le linux.
15 déc. 2006 à 19:50
ça me dépasse totalement.
Le code de ce script est peut-être naturellement et logiquement fait comme ça,
mais à mon niveau, je n'y trouve rien d'intuitif qui permette de comprendre quelque chose a son fonctionnement.
En php quand je veux convertir les mois en clair et en français, je fais ça :
array ("01" => "janv.", "02" => "fév.", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juil.", "08" => "août", "09" => "sept.", "10" => "oct.", "11" => "nov.", "12" => "déc.");
mais dans ce script je ne trouve aucune trace de variable chaine en clair,
non plus de nom de mois en anglais d'ailleurs, je ne sais pas d'où vous faites sortir ça.
Pour la formule de Zeller, le fait que le calendrier automatique sache bien faire concorder les jour de semaine avec les date laisse présentir qu'il doit bien y avoir quelque part dans le code un traitement de ce genre pour retrouver si tel jour de tel mois est un lundi ou un dimanche non ?
Alors pourquoi ne pas pouvoir récupérer aussi cette donnée dans le formulaire au rechargement ?
15 déc. 2006 à 18:35
Il a été répondu à jvergoby le 28/02/2006 d'utiliser la function Mois_fr($mon) //retourne le mois en lettre en français.
Dans la page suivante de mon formulaire, j'ai indiqué : <?=$listMois ?> qui s'affiche aussi "022006" et j'ai repris la fonction :
function Mois_fr($mon) //retourne le mois en lettre en français
{ setlocale(LC_TIME,""); return ucfirst(strftime("%B",strtotime("2002".sprintf("%02d",$mon)."01"))); }
mais la date s'affiche toujours en chiffre collé.
J'ai essayé d'insérer $listMois= Mois_fr($mm).' '.$anR;
ça reprend la date et l'année dans le bon format mais par défaut c'est le mois et l'année du jour :"décembre 2006"
Peux-tu m'indiquer s'il faut ajouter quelque chose à la fonction ? ou si c'est le $listMois qu'il faut modifier ?
merci
19 oct. 2006 à 20:08
Désolé pour l'erreur...
19 oct. 2006 à 19:55
J'ai le meme probleme que Mizushima, mes dates s'affichent en anglais.
Je n'ai pas modifié du tout la source...
Comment faire pour afficher les dates en anglais SVP ??
17 oct. 2006 à 19:55
j'ai seulement copié les 3 fichiers de phpcs_source_30101.zip
et j'ai toujours les mois en anglais dans le menu déroulant "choix de date"
2006
October 2006
November 2006
December 2006
2007
January 2007
February 2007
et caetera
pour la formule de Zeller en php
z = (E(2.6 *mz -0.2) +jj + az + (az div 4) + (sz div 4) - 2* sz) modulo 7)
le E majuscule doit être l'entier, je vais faire des test je vous dirais
merci
16 oct. 2006 à 10:44
- Pour ton 1er point, tu dois avoir une erreur javascript, non ? quelle est-elle ?
- Pour savoir à quel jour de la semaine correspond une date, tu peux comparer cette date avec une date fixe dont tu connais le jour (pourquoi pas le 15/10/06=dimanche).
Par exemple -> Quel jour est le 05/06/07 ? Tu calcules le nombre de jour entre cette date et le 15/10/06 = 233 jours je crois (de tête, mais il faut utiliser des fonctions javascript ou php)
le reste de la division 232/7 est 2 donc le 05/06/07 sera un mardi.
Je ne connaissais pas la "Formule de Zeller", mais je pense qu'elle est plus simple (et plus propre) que mon raisonnement. En cherchant un peu, je suis sur que tu arriveras à l'écrire en php...
Arn;o)
15 oct. 2006 à 21:28
Deux petites questions
1°) je ne comprends pas comment on fait pour activer la fonction
function Mois_fr($mon) //retourne le mois en lettre en français
chez moi, les mois restent en lettre en anglais
quelque chose m'échape
2°) Puisque dans la popup calendrier, les jours de la semaine (Lundi, mardi... etc.) correspondent bien à la date (là encore c'est génial et ça me dépasse) serait-il possible de récupérer dans le menu déroulant de la page index.php aussi le jour de la semaine pour le conserver avec la date dans la base
(parce que je trouve important de savoir quel jour de la semaine tombe une date, si tu me demande si je suis libre le 22 novembre 2006 je te demande : "ça tombe quel jour de la semaine ?")
ou sinon y-a-t-il possibilité d'un post-traitement de la date pour le retrouver, je trouve sur google "Formule de Zeller" mais est-ce que ça se transcrit en php, je pousse peut-être le bouchon un peu trop loin :-)
merci
4 avril 2006 à 11:55
4 avril 2006 à 11:43
Qu'entends-tu par extraire, à quel moment ?
4 avril 2006 à 11:37
Il y a t'il un moyen d'extraire le numero de la semaine ?
2 avril 2006 à 13:02
2 avril 2006 à 10:48
Quel message d'erreur as-tu ?
Quelle est la version de php que tu utilises (>=4.2.0 ?)
Cette fonction retourne le reste de la division entière des 2 paramètres.
http://fr3.php.net/manual/fr/function.fmod.php
Tu dois pouvoir la remplacer par l'opérateur % :
Au lieu de
fmod(a,b)
utilises
a%b
if (fmod(($c-1),7)==0)
devient
if ((($c-1)%7)==0)
...
Arn;o)
2 avril 2006 à 10:17
sur le fichier calend.php ligne 99 il trouve pas la fonction fmod()
28 févr. 2006 à 17:16
je te remercie pour ta réponse.
A bientôt.
28 févr. 2006 à 17:11
Il y a au tout début du code, une fonction qui fait ce que tu veux :
function Mois_fr($mon) //retourne le mois en lettre en français
Arn;o)
28 févr. 2006 à 10:56
je viens de récupérer ton code, il est super et facilement intégrable dans mes scripts. Nickel. Juste une question, je récupère dans deux variables le jour et le mois que j'envoie dans une autre page pour faire une entête de page. Mais j'ai un soucis avec la date. Elle est au format :
exemple pour 28 février 2006 : 28 022006.
Comment faire pour récupérer le mois février en lettre et non en chiffre ?
Merci
3 févr. 2006 à 21:15
Comment alimenter une variable ($date par exemple) au format date avant insertion dans la bdd à partir de ton code ?
Comment aussi utiliser 2 fois le script dans un même formulaire ($datedeb,$datefin).
Merci.
3 févr. 2006 à 09:35
Au lieu de modifier le mois de départ, tu peux modifier l'année (dans calend.php):
//mois et année actuels
$anR=date("Y")-1;
$mm=date("m");
Arn;o)
3 févr. 2006 à 09:26
Tu peux ajouter un test sur le jour, dans la boucle de construction du tableau de calend.php :
...
if ($j<=$nbj)//nb jours du mois {
$titre=ucfirst(strftime("%A",strtotime("200408".sprintf("%02d",$jsem+1))))." $jj/$mois/$an";
if (fmod($c,7)!=0) { //si pas 7e colonne
echo '[javascript:lien(',($j-1),'); ',$j,']';
} else {
echo $j;
}
} else {
echo '
';
}
...
Je n'ai pas tester, mais ça doit être qqch dans le genre.
Ensuite, il peut être judicieux d'utiliser un style pour ces jours là, par exemple en mettant le texte en gris...
Arn;o)
2 févr. 2006 à 23:49
Merci
15 janv. 2006 à 13:37
Par contre, j'ai un piti pb : comme Yooooohito je voudrais pouvoir choisir des mois précédant le mois actuel mais en remontant au moins à 6 mois (voir un an)
Si je fais comme lui et que je mets "$mm=date("m")-12;", je me retrouve face à 12 fois "janvier 2006" mais pas trace de 2005...
J'ai bidouillé un peu mais sans obtenir de résultat satisfaisant... :(
HELP grand maître !
Merci encore
11 oct. 2005 à 11:00
//mois et année actuels
$anR=date("Y");
$mm=date("m")-1;
Merci encore pour ton boulot
11 oct. 2005 à 10:52
Je voudrais le modifier (newbie inside) pour pouvoir sélectionner le mois précédent la date du jour : Est-ce possible? et pourrais-tu me mettre sur la piste stp.
Ex : on est le 11 octobre 2005, je voudrais pouvoir sélectionner une date de septembre 2005
Merci d'avance
26 juil. 2005 à 18:11
Arn;o)
26 juil. 2005 à 18:02
envoie la moi si c possible par mail :
nazaca@caramail.com
merci
26 juil. 2005 à 17:55
Il faut que tu places une image BCalend.gif dans ton répertoire.
C'est ton seul problème ?
26 juil. 2005 à 17:49
26 juil. 2005 à 17:45
as-tu un message d'erreur ?
as-tu un avertissement de pop-up bloquée ?
26 juil. 2005 à 17:43
--- inabil :
bonjour,
voila, j'ai esseyé d'executer le code mais ça marche pas.
Est ce qu'il y a une MAJ ou le probléme viens de chez moi.
merci d'avance
--- arnal69130 :
bonjour,
chez moi ça marche !
quel est ton problème ?
--- inabil :
voila, il y a les deux liste qui s'affiche ,mais le calendrier pas
--- arnal69130 :
suite ici http://www.phpcs.com/code.aspx?ID=30101#commentaires
11 juil. 2005 à 10:27
Peux-tu préciser un peu ta question... Ton problème vient-il de l'envoi du formulaire en POST, de la requête d'insertion dans ta BD, ou de la récupération de $mois et $année distinctement à partir du champ $moisAnnée ?
Arn;o)
8 juil. 2005 à 13:53
Je me demande seulement comment récupérer la date est les stoker dans 3 variable $jour $mois $annee dan une base de donnée apré validation du date?
merci..
20 mai 2005 à 12:07
En tout cas je le redis, MERCI ARNAL !
20 mai 2005 à 12:00
function dateDansListe()
{
<?php if (isset($_POST["listJour"]) && !empty($_POST["listJour"]) && isset($_POST["listMois"]) && !empty($_POST["listMois"])) {
$mois=substr($_POST["listMois"],0,2)-1;
echo "d=new Date(" . substr($_POST["listMois"],2,4) . "," . $mois . "," . $_POST["listJour"] . ");\n";
} else{
echo "d=new Date();\n"; }
?>
Mois=1+d.getMonth();
chM=Mois.toString();
if (chM.length<2) { chM="0"+chM; }
An=d.getFullYear();
ch=chM+An.toString();
i=0;
while(ch!=document.getElementById("listMois").options[i].value)
{ i++; }
j=d.getDate();
alert(j.toString());
if (document.getElementById("listMois").options[i]) document.getElementById("listMois").options[i].selected = 1;
if (document.getElementById("listJour").options[j-1]) document.getElementById("listJour").options[j-1].selected = 1;
AffNbj();
}
12 mai 2005 à 10:54
mieux vaut tard que jamais...
Il faut que tu regarde la fonction javascript Date() :
http://fr.selfhtml.org/javascript/objets/date.htm
Dans la fonction dateDansListe (index.php), dans mon script il n'y a pas de paramètre, donc on prend la date du jour.
Mais si tu mets une autre date en paramètre, c'est cette date qui sera sélectionnée.
En espérant t'avoir aidé,
Arn;o)
2 mai 2005 à 15:51
Il est très bien ton script, il marche a fond, mais ya un ptit truc que j'arrive pas à faire avec :
ton code est fait pour etre encapsulé dans un formulaire. Tout est ok pour cela, les données sont bien intégrées dans ma base de données.
Mais j'ai également créé un autre formulaire pour faire des modifications, et la, je n'arrive pas à récupérer la date entrée dans la base de données, il me met toujours par défaut la date du jour.
Pourrais-tu m'aider, car pour moi le php ca va encore mais le javascript !!!! :-/
Merci d'avance
29 mars 2005 à 13:57
29 mars 2005 à 12:08
L'utilisation de getElementById('...') est, à mon avis, la plus efficace, la plus propre, et la plus portable (ou standard, comme tu veux).
Mais forcément, elle implique de mettre un attribut id="..." dans la balise du champ auquel tu veux accéder.
Dans ton exemple, il n'y a pas d'élément dont l'id est "cp", donc ça ne risque pas de marcher ;o)
Essaie ça :
<script type="text/javascript">
function lien(test) {
window.opener.document.getElementById('champCP').value='test';
}
</script>
et
<form name="cp" action="valider.php" method="POST">
</form>
Voila, j'espère que ça t'aidera. Si ça ne marche tjs pas comme tu veux, décris un peu plus précisemment ton problème. Juste dire «ça ne marche pas» n'est pas très explicite ;o)
Arno
29 mars 2005 à 10:25
pour l'IFRAME c'est ok, j'ai réussi mais tu as raison ce n'est surement pas la meilleure solution...
du coup j'ai essayé ce que tu m'as dit mais en changeant le nom de l'iframe par le nom d'un formulaire, ca doit marcher aussi non?
J'ai regardé des ex sur selfHTML et voila le code que j'ai fait et qui ne marche pas....
dans le popup
<script type='text/javascript'>
function lien(test) {
window.opener.parent.document.getElementById('cp').champCP = test;
}
</script>
dans la page princpale:
<form name="cp" action="valider.php" method="POST">
</form>
Je dois forcement utiliser les zones (id=...) ?
si tu pôuvais me lacer sur la bonne piste..
merci d'avance :)
29 mars 2005 à 09:59
Pour répondre à ta question, je pense qu'il est tout à fait possible de modifier un champ dans une iframe de la page appelante à partir d'une popup.
En revanche, j'utiliserais plutôt une syntaxe du type window.opener.getElementById('NomIframe').élémentAmodifier que l'attribut target. A voir...
Arn;o)
29 mars 2005 à 09:45
On peut même penser à mettre une variable dans l'appel de la fonction lien()
du style:
function lien(test) {
window.opener.parent.document.location.href='pageprincipale.php?test='+test; }
Ce qui laisse pas mal de possibilités ensuite sur la saisie de liste déroulante etc...
j'ai une question en plus pour vous, je sais que c'est plus du javascript que du php mais elle colle parfaitement aux commentaires précédents.
peut on mettre à jour des infos dans une iframe (ou autres mais c'est la seule solution que je vois) de la page principale toujours à partir du popup, sans recharger toute la page principale (pour éviter de tout resaisir?
en utilsant target... ou un truc du stule peut etre...
Merci
zevak
16 mars 2005 à 11:34
En javascript, il faut bien écrire Date() et getDate() avec un d majuscule !!!
15 mars 2005 à 18:11
Merci stepibou pour tes suggestions.
Arnaud
15 mars 2005 à 14:57
merci, c bon grace à toi, voici mon script :
je sais c du javascript, et on est sur phpcs, mais bon,
on peut malheureusement pas y echaper, les sources recentes le montre.
voila ca marche, mais je suis obligé de traiter le formulaire dans la popup. c'est mieux dans un sens car ca rafraichi la page principale : (pour ceux que ca interesse, ce script ouvre une popup, traite un formulaire dans la popup, et ferme automatiquement la popup...)
------script de la page principale : ------
[# inscrivez vous!]
<script type="text/javascript">
function Openpop() {
window.open('diaporama.php','Fenupload','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=1,copyhistory=0,menuBar=0,width=400,height=200'); }
</script>
------script de la popup : ------
<?php
traitement du formulaire... avec un if bien sure...
print("<script type='text/javascript'>\n");
print("window.close();
</script>");
?>
<head>
<script type='text/javascript'>
function lien() {
window.opener.parent.document.location.href='pageprincipale.php'; }
</script>
</head>
[javascript: window.opener.parent.document.location.href='pageprincipale.php';
window.close();
retour]
<form ...>
</form>
-----------------------------
tres bien, je te met 8 et pas 9, je t'explique pourquoi :
-dans tes balise html utilise des doubles quotes " et non '.
c'est mieux comme dirai grenard...
- le script marche mais je comprend pas tout y a pas de commentaire.
- et aussi y a des problemes dans l'insersion du javascript dans php : dans calend.php tu commence en javascript puis tu ouvre php à la ligne 44 alors que c le contraire c du javascript dans php. et surement encore des pbs de place de quotes,..
voila, bonne prog a tous <?php (o; !-) ?>
15 mars 2005 à 09:57
Si tu regardes d'un peu plus près mon calendrier, tu verras qu'il contient a un formulaire ;o)
Cela dit, dans ma source dans la popup on modifie la valeur d'un champ sur la page appelante.
Je ne suis pas sur que ce soit ça que tu veuilles faire, si ?
Dans ta popup, tu peux essayer de faire un formulaire avec action=popup, et au rechargement tu fermes la popup... ça donnerait un truc du genre :
/****popup.php****/
<?php
if (empty($_POST['ficUpload']))
{ echo "<form action='popup.php' ...>" formulaire d'upload..."; }
else
{ echo "<script type='text/javascript'>window.close();</script>"; }
?>
J'ai pas essayé, mais ça te permettera sans doute d'avancer...
Juste une petite suggestion, essaye d'écrire tes balises et attributs en minuscule, et avec des quotes autour des valeurs : [# ...]...
Au passage, il s'agit bien de javascript (et non pas de java qui n'a rien à voir) ;o) et les balises ouvrantes doivent être de la forme <script type="text/javascript">
a+
Arno
14 mars 2005 à 20:57
ca continue en php à ce que je vois,
c'est bien.
tu t'y connais pas mal en javascript, pas comme moi. ;-)
et c'est super cool, car c'est justemement ce que je cherchais, je galere en javascript, c un langage un peu chelou quand meme.
je veux ouvrir une popup, remplir un formulaire dans la popup ( avec upload), et l'envoyer dans la page principale, et fermer automatiquement la popup.
donc c un peu ce que tu fais sauf que t'as un calendrier, et non un formulaire dans ta popup.
j'ai essayé d'adapter un script tout nul et ca marche pas :
lien
<script language="Javascript">
function lien(url) {
eval("window.opener.parent.document.location.href='"+url'";");
window.close(); }
</script>
a metter dans le du lien:
onClick=lien('Page_a_appeler')
voila , donc si tu pouvais m'extraire de ta source, un script java et le reste, qui pourrai faire ca, avec dans la popup juste un bouton submit. ca serait tres sympas.
sinon je chercherai moi meme.
voila, sinon la source à l'aire tres bien. je noterai.
a+