CALENDRIER MULTI-USAGE EN PHP (SANS BDD)

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 7 janv. 2009 à 13:58
martiweb Messages postés 1 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 28 septembre 2012 - 28 sept. 2012 à 11:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48902-calendrier-multi-usage-en-php-sans-bdd

martiweb Messages postés 1 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 11:22
Bonjour.
Y a-t-il un moyen d'afficher les 12 mois à partir du mois actuel afin de présenter un planning.
J'ai essayé de m'y coller mais mes connaissances ne sont pas encore à la hauteur de la tâche.
Si une solution ou une approche de solution est possible, je suis preneur.
belkom Messages postés 1 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 7 mars 2010
7 mars 2010 à 20:36

jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
4 déc. 2009 à 06:12
Envoie un mail via PHPcs
berti19 Messages postés 6 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 19:43
j'ai trouvé mon erreur je peux donner le bout de code pour l'implanter dans tes options. si ça t'intéresse pas moi ton mail.
Bonne soirée
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
3 déc. 2009 à 19:25
Oui mais j'ai pas encore eu le temps de regarder.
berti19 Messages postés 6 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 08:49
ok merci. Pour ceux qui avait le message
configuration dans php.ini
error_reporting = E_ALL & ~E_NOTICE
sinon as-tu eu mon message ?
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
2 déc. 2009 à 19:57
Bon, un Notice, c'est pas la mort. Ca n'empeche pas de fonctionner. Si le message dérange, il faut configurer php pour enlever le notice.
berti19 Messages postés 6 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 3 décembre 2009
1 déc. 2009 à 17:29
j'ai oublié "un bug" mais tout le monde à compris.
Merci d'avance. A bientôt...
berti19 Messages postés 6 Date d'inscription lundi 4 décembre 2006 Statut Membre Dernière intervention 3 décembre 2009
1 déc. 2009 à 17:28
j'ai un à la ligne 95 :

Notice: Undefined offset: 7 in calendar\calendrier.php on line 95
$current_day_index ($current_day_index -1) ? 7 : $current_day_index;
$current_day_name = $calendar_txt[$param['lang']]['days'][$current_day_index];

Quelqu'un a t il déjà cette erreur ?
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
30 nov. 2009 à 21:48
Bonjour Kewi.

Oui, c'est tout à fait possible. La variable $param['highlight'] aura cette forme :

$param['highlight'] = array('20091130'=>'aujourdhui','20091201'=>'demain','20091202'=>'Après-demain')
Kew1 Messages postés 1 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 30 novembre 2009
30 nov. 2009 à 11:29
Bonjour,

serait il possible d'utiliser le highlight sur une période de plusieurs jours ?

Merci
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
13 févr. 2009 à 07:21
Faut que je vérifie les sources du zip.
En fait dans la 1ere version il y avait les variables $_HTTP_*_VARS. Normalement je l'ai changé mais il y a peut-être un oubli dans le php du zip. Je vais regarder ca.
creaDB Messages postés 28 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 25 mars 2009
11 févr. 2009 à 16:35
En regardant ton script de plus près je vois que toi aussi tu es en $_GET et $_POST j'aurai du mieux le lire ... mais c'est toujours mieux de trouver les erreurs soit même ;)
a plushh !!!
creaDB Messages postés 28 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 25 mars 2009
11 févr. 2009 à 16:32
Merci pour ta réponse JWALTERS57370 mais le problème venait d'une fonction dans le calendrier qui se trouvait tjrs en $_HTTP ... :( J'ai modifier par des $_GET et $_POST et tout va pur le mieux :D
Merci et bon courage a tous pour le calendrier en PHP XD
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
11 févr. 2009 à 11:12
Il se peut que tu ai un problème avec la configuration de l'url.

il faut que les liens soient formatés de cette manière :
- http://www.domaine.tld/?date=20090210
- http://www.domaine.tld/?var1=value1&var2=value2&...&date=20090210

Je pense que le soucis viens de la.

Avec quelle variable et valeur appelle tu la fonction calendar ?
exemple :
$url = 'calendar/';
$lnk='p=reservation&';
$params = Array();
echo calendar($url,$lnk,$params);
creaDB Messages postés 28 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 25 mars 2009
10 févr. 2009 à 16:20
Re :)
Après vérification dans la barre de navigation on constate bien les jours et les mois changer mais en fait se sont les tableaux qui a priori ne se rafraichit pas ??
Merci pour toute aide apporté ^^
creaDB Messages postés 28 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 25 mars 2009
10 févr. 2009 à 15:21
Bonjour tt le monde :)
voilà j'ai repris le code source du calendrier mais avec des paramètres supplémentaires il refuse de changer les jours et les mois au niveaux next_month previous_month next_day et previous_day ... qd je clic aucun effet il reste sur le mm mois ou sur le mm jour idem si je clic sur un autre jour du calendrier il reste bloqué a la date du jour (actuel).
Merci pour vos réponses ^^
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
7 janv. 2009 à 20:35
Pour rien te cacher, j'ai lu en diagonale la source et j'ai ressortit ce que j'avais lu un peu plus ^_^ donc c'est très possible :D
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
7 janv. 2009 à 16:15
En fait, pour le !empty() au niveau du foreach, il n'est pas necessaire car si la configuration perso n'est pas défini (pas de $params['statut']) c'est la config par défaut qui prend le relais ($param_d['statut']).
Donc dans tous les cas, la variable $param['statut'] existe et est défini. Après, si elle est vide, rien ne plante. C'est juste comme si on avait un affichage standard (pas de multi-statut).
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
7 janv. 2009 à 15:53
Ouaip, il y a du boulot au niveau de l'optimisation du code.

Merci pour tes explications.

Je vais y passer un peu de temps histoire de faire du ménage et de reprendre un peu le code. Et je suis d'accord avec toi que le "$output .= ..." c'est pas l'idéal.
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
7 janv. 2009 à 15:45
1/ Si je dis bonjour à chaque commentaire j'ai pas fini mais soit ... Bonjour :)
2/Tu n'es pas bloqué ...
il te suffit de faire les traductions en=>xy
['january']=>array('fr'=>janvier,'es'=>'enero');
3/j'ai pas parlé de MVC juste vue et métier... Au moins faire le métier puis l'affichage histoire de simplifier d'une part le debug et la reprenabilité !
4/ça reste anormal et pas correct ^_^ ça bouffe peu de mémoire j'en convient mais je suis pas pour des fuites gratuite...
5/La doc deja => http://www.php.net/manual/en/function.date.php
Elle te fournit "les patterns a fournir pour afficher les formats de date usuels".
A vu de nez ...
$param_d['show_day'] = 1; // Par défaut à 1, permet d'afficher la barre des jours en haut du calendrier (L M M J V S D)
$param_d['show_month'] = 1; // Par défaut à 1, permet d'afficher le nom du mois et l'année en haut du calendrier
c'est de la config ...
tu prend 2 cases de tableau pour y mettre 2 entiers ou il faut lire l'index et le commentaire pour comprendre moi voici ce que je te propose...
$param_d['top_calendar']="l F";//format de date en haut du calendrier
Ensuite et bien pour répondre à la qst 2 tu remplace le résultat de date($iTimeStamp,$param_d['top_calendar']; par les équivalences de langue!
(pas sur que l'exemple soit bien choisi mais il est explicite au moins^^)
6/No problem :)
7/Bé faut améliorer ^_^ c'est fait pour ça les commentaires :)
jwalter57370 Messages postés 11 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 6 avril 2009
7 janv. 2009 à 14:54
Bonjour,

1. Bonjour, c'est pour les chiens ?
2. Traduction anglaise pour l'internationalisation, si tu utilise les renvois par défaut de date, tu es bloqué.
3. J'ai pas dit que je faisait du MVC et c'est pas moi qui ai codé le calendrier de base.
4. Les 13 mois, j'en sais rien et comme dit précédement, c'est pas moi qui ai codé la base.
5. ? Et en français ca donne quoi ? Sois un peu plus précis.
6. Pour le !empty, je te l'accodre. Faute d'inattention
7. Pareil que 3 et 4, je n'ai pas fait tout le tour du code pour le nettoyer.

En tout cas, merci pour tes remarques. J'en tiendrais compte dans mes futurs modifications.
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
7 janv. 2009 à 13:58
Dès le début il y a des choses que je ne comprend pas bien...
_Pourquoi des traduction anglaises ...?
http://www.php.net/date
le formatage renvoie déjà en anglais ...
_Mélange de vue et métier... Eurk !
_Je savais pas qu'il y avait 13 mois et que le premier était une chaine vide ^_^
_Pourquoi pas des chaines de formatage de date plutôt que des booléen ? pardon entier de 1.
_foreach sans !empty
_Utilisation de global... Eurk !
Rejoignez-nous