Affichage selon tranche horaire

tomtom2014
Invité n'ayant pas de compte PHPfrance

28 juin 2014, 08:59

Bonjour,

J'utilise le code ci-dessous pour que le bouton radio correspondant à la tranche horaire soit sélectionné. Tout fonctionnait correctement hier après-midi mais ce matin il est 8h57 et c'est ma deuxième tranche horaire qui est activée (de 9h10 à 9h59). Je ne vous pas mon erreur. Quelqu'un a une idée du problème ? L'heure de mon serveur est bien de 8h57. Quand j'affiche $heure, j'ai bien 8h57.
$heure = date('Hi');
if ($heure >= 0820 && $heure < 0910) {
		$checked1='checked';
} 
elseif ($heure >= 0910 && $heure < 1000) { 
		$checked2='checked';
    }
elseif ($heure >= 1020 && $heure < 1110) { 
		$checked3='checked';
    }
elseif ($heure >= 1110 && $heure < 1200) { 
		$checked4='checked';
    } 	
elseif ($heure >= 1305 && $heure < 1355) { 
		$checked5='checked';
    } 
elseif ($heure >= 1355 && $heure < 1445) { 
		$checked6='checked';
    } 
elseif ($heure >= 1500 && $heure < 1550) { 
		$checked7='checked';
    } 
elseif ($heure >= 1550 && $heure < 1640) { 
		$checked8='checked';
    } 
else { 
        $pascours='(Attention, il n\'y a pas de cours pour l\'instant)';
    }
<input type="radio" name="moment" value="1" '.$checked1.' required>H1 <input type="radio" name="moment" value="2" '.$checked2.' required>H2 <input type="radio" name="moment" value="3" '.$checked3.' required>H3 <input type="radio" name="moment" value="4" '.$checked4.' required>H4 <input type="radio" name="moment" value="5" '.$checked5.' required>H5 <input type="radio" name="moment" value="6" '.$checked6.' required>H6 <input type="radio" name="moment" value="7" '.$checked7.' required>H7 <input type="radio" name="moment" value="8" '.$checked8.' required>H8
;-)
Sub

tomtom2014
Invité n'ayant pas de compte PHPfrance

28 juin 2014, 10:22

Pour les autres heures cela fonctionne. Ce n'est que le premier if qui ne fonctionne pas...

tomtom2014
Invité n'ayant pas de compte PHPfrance

29 juin 2014, 13:24

Date() renvoit une chaine et pas un entier.
PHP se debrouille dans presque tous les cas sauf pour 08 et 09 qui sont interpretés comme des octals erronés.
if ($heure >= '0820' && $heure < '0910') {
                $checked1='checked';
} 
elseif ($heure >= '0910' && $heure < '1000') { 
                $checked2='checked';
    }

Mammouth du PHP | 1339 Messages

29 juin 2014, 23:03

Que tu écrives 0800 ou 800 pour PHP c'est pareil sauf si tu le met entre guillements pour que ca soit lu comme une chaine et pas comme un chiffre simplifié.
Ca me fait plaisir de voir que tu as cherché, au final ton soucis est réglé ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer