Redirection si jeudi allé ver mercredi et s

Résolu
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   -  
griko Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   74
 
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   Statut Membre Dernière intervention   10
 
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