Problème d'affichage pour un calendrier PHP
Résolu
Fetide68
Messages postés
745
Date d'inscription
Statut
Membre
Dernière intervention
-
Fetide68 Messages postés 745 Date d'inscription Statut Membre Dernière intervention -
Fetide68 Messages postés 745 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie de faire tout seul un calendrier en PHP !
Un seul détail ne fonctionne pas, chaque mois commence un lundi comme ceci pour janvier:
L M M J V S D
1 2 3
4 5 6 7 8 9 10...
Le 4 est bien un lundi mais le premier, est un vendredi... J'essaie de trouver une condition pour afficher
Voici mon code :
Merci !
J'essaie de faire tout seul un calendrier en PHP !
Un seul détail ne fonctionne pas, chaque mois commence un lundi comme ceci pour janvier:
L M M J V S D
1 2 3
4 5 6 7 8 9 10...
Le 4 est bien un lundi mais le premier, est un vendredi... J'essaie de trouver une condition pour afficher
'<td> </td>'si le jour ne correspond pas mais je ne vois pas... :
Voici mon code :
<span class="location"> <form method="post" id="dates"> <select name="mois" id="mois" onchange="document.getElementById('dates').submit();"> <?php $mois = array ('','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'); $jours = array ('Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'); $selected_month = Securite::bdd($_POST['mois']); for ($mm=1;$mm<=12;$mm++) { if ($mm != $selected_month) { echo '<option value="'.$mm.'">'.$mois[$mm].'</option>'; } else { echo '<option value="'.$mm.'" selected>'.$mois[$mm].'</option>'; } } ?> </select> <select name="annee" id="annee" onchange="document.getElementById('dates_foyer').submit();"> <?php $annee_courante = date('Y',time()); $annee_suivante = date('Y',time())+1; $selected_year = Securite::bdd($_POST['annee']); if ($selected_year == $annee_suivante) { echo '<option value="'.$annee_courante.'">'.$annee_courante.'</option>'; echo '<option value="'.$annee_suivante.'" selected>'.$annee_suivante.'</option>'; } else { $selected_year = date('Y',time()); echo '<option value="'.$annee_courante.'" selected>'.$annee_courante.'</option>'; echo '<option value="'.$annee_suivante.'">'.$annee_suivante.'</option>'; } ?> </select> </form> </span> <?php if ($selected_month != '' && $selected_year != '') { $month = $selected_month; $year = $selected_year; echo $mois[$month].' '.$year; } else { $month = date ('n',time()); $year = date ('Y',time()); echo $mois[$month].' '.$year; } // date choisie en timestamp $selected_date = strtotime('01-'.$month.'-'.$year); // nombre de jour pour le mois et de l'année choisie $nombre_de_jour = date ('t',$selected_date); echo '<br><br>'; echo '<br><br>'; 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>'; for ($day=1; $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>'; } } echo '</table>'; ?>
Merci !
A voir également:
- Problème d'affichage pour un calendrier PHP
- Mon calendrier - Télécharger - Santé & Bien-être
- Logiciel gratuit conversion calendrier républicain - Télécharger - Études & Formations
- Calendrier partagé google - Guide
- Affichage double ecran - Guide
- Synchroniser calendrier outlook et gmail - Guide
9 réponses
il y en a des tout fait moi j ai trouvé celui là je ne sais plus ou http://jeanmichel.gens.free.fr/calendrier.php j ai le source si besoin
la plupart des gens ici ne vont pas lire le code fourni c est mieux de donner un lien d abord
de cette manière les gens concrétisent le problème et seront plus enclins à lire le code
de cette manière les gens concrétisent le problème et seront plus enclins à lire le code
En clair, mon problème est le suivant :
http://membres.multimania.fr/killmicht/calendrier/
Si au moins tous les mois commençaient par un vendredi ou un semedi... mais pas un lundi...
J'ai encore ce compte lycos mais le php semble être capricieux...
http://membres.multimania.fr/killmicht/calendrier/
Si au moins tous les mois commençaient par un vendredi ou un semedi... mais pas un lundi...
J'ai encore ce compte lycos mais le php semble être capricieux...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens de voir ton message, je décortique à fond pour tout comprendre et donne suite à ton message et au post...
Merci
Merci
Merci beaucoup,
J'ai tenté de faire ma propre boucle en m'inspirant de la tienne que j'ai bien compris (mais comme c'est un exercice, je tiens à m'entraîner avec sérieux). Le problème c'est que ça fonctionne en local mais pas en ligne...
http://www.membres.lycos.fr/killmicht/calendrier/
Voici mon code qui fonctionne aussi (juste pour la boucle) :
J'ai tenté de faire ma propre boucle en m'inspirant de la tienne que j'ai bien compris (mais comme c'est un exercice, je tiens à m'entraîner avec sérieux). Le problème c'est que ça fonctionne en local mais pas en ligne...
http://www.membres.lycos.fr/killmicht/calendrier/
Voici mon code qui fonctionne aussi (juste pour la boucle) :
for ($day=1; $day<=$nombre_de_jour; $day++) { // Conversion des dates en timestamp $date_du_day = strtotime($day.'-'.$month.'-'.$year); $position_jour = Array(0,1,2,3,4,5,6,0); $jour_de_la_semaine = date('w',$date_du_day); $jour_du_mois = date('j',$date_du_day); if ($jour_de_la_semaine==1 || $jour_du_mois==1) { echo '<tr>'; if ($jour_du_mois==1) { $i=1; while ($i != $position_jour[$jour_de_la_semaine]) { echo '<td> </td>'; $i++; } } } if ($date_du_day > time()) { echo '<td><a href="?c=infos&p=foyer&r='.$date_du_day.'">'.$day.'</a></td>'; } else { echo '<td>'.$day.'</td>'; } if ($jour_de_la_semaine==0) { echo '</tr>'; } }