Calendrier en PHP
Résolu/Fermé
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
-
25 janv. 2010 à 09:37
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 27 janv. 2010 à 18:29
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 27 janv. 2010 à 18:29
A voir également:
- Calendrier php mysql
- Calendrier partagé google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Synchroniser calendrier outlook et gmail - Guide
- Mysql community server - Télécharger - Bases de données
- Déploiement tnt 4k calendrier - Accueil - TV & Vidéo
10 réponses
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
25 janv. 2010 à 10:43
25 janv. 2010 à 10:43
d'abord je pensais me rappeler que dans les listes déroulantes, l'attribut par défaut se notait selected="selected"
ensuite dans $jour[] je vois que dimanche est en première position alors qu'il est affiché en dernier
Sinon plus concretement pour ton problème de décalage, je vais donner mon avis perso:
t'as déjà réussi un joli coup: il t'écris pas toute la semaine entière, donc quand tu lui demandes un nouveau mois, tu dois le faire se décaler de n cases ... je vois sa ainsi:
Voilà ce que j'en penses. J'ai rajouté le code entre les "XXX" qui permet d'ajouter autant de "<td/>" (saut de case) que de jours déjà passés dans la semaine, et je modifie la boucle juste après pour qu'elle commence au 2e jour
ensuite dans $jour[] je vois que dimanche est en première position alors qu'il est affiché en dernier
Sinon plus concretement pour ton problème de décalage, je vais donner mon avis perso:
t'as déjà réussi un joli coup: il t'écris pas toute la semaine entière, donc quand tu lui demandes un nouveau mois, tu dois le faire se décaler de n cases ... je vois sa ainsi:
echo '<table class="calendrier" style="margin: auto; width: 420px;">'; echo '<tr class="entete"><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td class="weekend">S</td><td class="weekend">D</td></tr>'; XXXXX $initiation_mois = strtotime('01-'.$month.'-'.$year); $jour_de_la_semaine = date('w',$date_du_day); $j=""; for($i=1; $i<=date('N',$jour_de_la_semaine);$i++) $j= $j."<td/>" XXXXXXX for ($day=2; $day<=$nombre_de_jour; $day++) { $date_du_day = strtotime($day.'-'.$month.'-'.$year); $jours_semaine = Array("0", "1", "2", "3", "4", "5", "6", "0"); $jour_de_la_semaine = date('w',$date_du_day); if ($jour_de_la_semaine==1) { echo '<tr>'; } echo '<td>'.$day.'</td>'; if ($jour_de_la_semaine==0) { echo '</tr>';
Voilà ce que j'en penses. J'ai rajouté le code entre les "XXX" qui permet d'ajouter autant de "<td/>" (saut de case) que de jours déjà passés dans la semaine, et je modifie la boucle juste après pour qu'elle commence au 2e jour
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
25 janv. 2010 à 11:17
25 janv. 2010 à 11:17
Je comprends un peu ton code que j'ai adapté pour l'insérer au bon endroit (brut, il ne fonctionne pas bien: ça me met tout en ligne):
Juste avant echo '<td>'.$day.'</td>' j'ai fait ça :
Mais ca me décale tout le tableau. Toutes les semaines un vendredi tous les mois...
Juste avant echo '<td>'.$day.'</td>' j'ai fait ça :
for ($i=1; $i<=date('N',$jour_de_la_semaine);$i++) echo "<td/>";
Mais ca me décale tout le tableau. Toutes les semaines un vendredi tous les mois...
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
25 janv. 2010 à 11:35
25 janv. 2010 à 11:35
non non je pense qu'on s'est mal compris: mon bout de code détermine quel est le 1er jour du mois sous forme numérique (lundi = 1; mardi = 2; ...) et passes autant de cases grace à <td/> (qui remplace une case vide <td></td>) mais cela doit etre fait une seule fois, avant la génération du calendrier complet (hors boucle for)
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
25 janv. 2010 à 11:41
25 janv. 2010 à 11:41
Oups, haaaa ! je me suis planté dans mon code et en effet je t'ai filé un truc qui ... fait rien du tout, alors jai fait une petite boucle for qui stocke une chaine dans $j sans l'utiliser, hop hop hop sa ne va pas, voilà en effet ce que j'aurais du mettre:
XXXXX
$initiation_mois = strtotime('01-'.$month.'-'.$year);
$jour_de_la_semaine = date('w',$date_du_day);
$j="";
for($i=1; $i<=date('N',$jour_de_la_semaine);$i++) echo "<td/>";
XXXXXXX
XXXXX
$initiation_mois = strtotime('01-'.$month.'-'.$year);
$jour_de_la_semaine = date('w',$date_du_day);
$j="";
for($i=1; $i<=date('N',$jour_de_la_semaine);$i++) echo "<td/>";
XXXXXXX
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
25 janv. 2010 à 11:56
25 janv. 2010 à 11:56
C'est pareil, ça place tout sur le vendredi...
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
25 janv. 2010 à 15:04
25 janv. 2010 à 15:04
J'aurais cru cela simple pour les ccmiens ! Ce forum est-il en perdition de bons webmaster ?
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
26 janv. 2010 à 09:32
26 janv. 2010 à 09:32
Hello ?
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
27 janv. 2010 à 10:15
27 janv. 2010 à 10:15
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
27 janv. 2010 à 15:52
27 janv. 2010 à 15:52
dsl pas dispo le weekend, content que t'ai trouvé la solution, bien joué
Bonne continuation
Bonne continuation
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
27 janv. 2010 à 18:29
27 janv. 2010 à 18:29
Merci !