Redirection si jeudi allé ver mercredi et s

Résolu/Fermé
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 7 mars 2009 à 19:42
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 8 mars 2009 à 11:52
Bonjour,
Alors voila mon probleme.

J'ai la possibilité sur mon site de déterminer une date par 3 menu déroulants.

Mais comme c'est sur le ciné, je souhaiterais que

Si la date correspond à un MERCREDI alors on affiche la page
si la date correspond à JEUDI alors redirection vers mercredi antérieur
idem pour VENDREDI et SAMEDI

et

si la date correspond à DIMANCHE alors redirection vers mercredi qui suit
idem pour LUNDI et MARDI

Et pour info je récupère les donné envoyer par l'utilisateur du menu déroulants arrive sur la page agenda.php?jour=01&mois=02&annee=2009

01 pour le jour
02 pour le mois
2009 pour l'année

Voila j'espère que j'ai été claire,

j'ai vraiment besoin d'aide car le site, je dois le mettre en ligne dans pas longtemps et j'ai encore à faire dont ça qui est un gros morceau.

2 réponses

Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
7 mars 2009 à 23:30
Salut,

1) tu dois obtenir le jour de la semaine en php. Voici une méthode pour le faire :

$the_day = date("w",strtotime("$_GET[annee]-$_GET[mois]-$_GET[jour]" ));


Et cette fonction devrait te retourner normalement (je n'ai pas testé) un numéro correspondant au jour de la semaine (0 pour dimanche, 1 pour lundi, ... jusqu'à 6 pour samedi).

2) tu dois faire un switch case (ou plusieurs if ... bien que moins optimisé) pour faire correspondre le numéro du jour avec la valeur de ton menu déroulant sélectionné.

switch ($the_day) {
case 0:
    $selected_day = "Dimanche";
    break;
case 1:
    $selected_day = "Lundi";
    break;
case 2:
    $selected_day = "Mardi";
    break;
...
etc
...
}


En espérant avoir pu t'aider ;-)
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
8 mars 2009 à 11:52
Salut,

Je ne vois pas trop comment faire, j'ai mis ton code et je ne vois pas comment ça peut fonctionné avec le menu déroule comme celui là :

<form action="agenda.php" method="get">
										<select name="jour" size="1">
										<?php $i = 1; while( $i < 32 ){ 
										if($i < 10){
										echo'
											<option value="0'.$i.'"'; if($jour==$i){echo'selected="selected"';} echo'>'.$i.'</option>'; $i++;}else{echo'
											<option value="'.$i.'"'; if($jour==$i){echo'selected="selected"';} echo'>'.$i.'</option>'; $i++;}}?>
										</select>
										<select name="mois" size="1">
										<?php 	$array = array( '01' => 'Janvier', '02' => 'F&eacute;vrier', '03' => 'Mars', '04' => 'Avril', '05' => 'Mai', '06' => 'Juin', '07' => 'Juillet', '08' => 'Ao&ucirc;t', '09' => 'Septembre', '10' => 'Octobre', '11' => 'Novembre', '12' => 'D&eacute;cembre'); //$array = array( '1' => 'Janvier', '2' => 'Février', '3' => 'Mars');
												foreach( $array as $key => $value ) {echo'
											<option value="'.$key.'"'; if($mois==$key){echo'selected="selected"';} echo'>'.$value.'</option>';}?>
										</select>
										<select name="annee" size="1">
										<?php $i = date('Y')+3; while( $i > 1899 ){ echo'
											<option value="'.$i.'"'; if($annee==$i){echo'selected="selected"';} echo'>'.$i.'</option>'; $i--;}?>
										</select>
										<input type="submit" value="OK">
									</form>


Etton code entier :

$the_day = date("w",strtotime("$_GET[annee]-$_GET[mois]-$_GET[jour]" ));

switch ($the_day) {
case 0:
    $selected_day = "Dimanche";
    break;
case 1:
    $selected_day = "Lundi";
    break;
case 2:
    $selected_day = "Mardi";
    break;
case 3:
    $selected_day = "Mercredi";
    break;
case 4:
    $selected_day = "Jeudi";
    break;
case 5:
    $selected_day = "Vendredi";
    break;
case 6:
    $selected_day = "Samedi";
    break;
	}


Peux-tu m'éclairer?
0