8791 sujets

Développement web côté serveur, CMS

Bonsoir,
j'ai un souci avec mon script,
le but est que 6 images se relayent toutes les deux heures,
le script fonctionne mais pas à toutes les heures
(ex: entre 22h-minuit, l'image s'affiche, entre minuit-2h elle ne s'affiche pas Smiley sweatdrop )
Les heures vont de 0 à 12 comme font les anglais d'après ce que j'ai cru comprendre..
Voici le code:
<?php
$heure = date("g");
if($heure >= 0 && $heure < 2)
     $image = "image1.png";
elseif($heure >= 2 && $heure < 4)
     $image = "image2.png";
elseif($heure >= 4 && $heure < 6)
     $image = "image3.png";
elseif($heure >= 6 && $heure < 8)
     $image = "image4.png";
elseif($heure >= 8 && $heure < 10)
     $image = "image5.png";
elseif($heure >= 10 && $heure < 12)
     $image = "image6.png";
?>


Quelqu'un serait t'il d'où vient le problème?
merci de votre aide.
Modifié par sheitanEB (29 Feb 2008 - 00:22)
Salut,
sheitanEB a écrit :

Les heures vont de 0 à 12 comme font les anglais d'après ce que j'ai cru comprendre..

Le plus simple c'est de lire la doc sur la fonction date Smiley cligne !

Comme les heures vont en fait de 1 à 12, tu peux faire :
<?php
$heure = date("g");
if($heure >= 1 && $heure < 3)
     $image = "image1.png";
elseif($heure >= 3 && $heure < 5)
     $image = "image2.png";
elseif($heure >= 5 && $heure < 7)
     $image = "image3.png";
elseif($heure >= 7 && $heure < 9)
     $image = "image4.png";
elseif($heure >= 9 && $heure < 11)
     $image = "image5.png";
elseif($heure >= 11)
     $image = "image6.png";
?>

A+


Edit: En repassant par là, plus simple encore :
<?php
$images = array('image1.png', 'image2.png', 'image3.png', 'image4.png', 'image5.png', 'image6.png'); 
$image = $images[intval((date("g")-1)/2)];
?>

Modifié par Heyoan (29 Feb 2008 - 07:47)
Merci, sa fonctionne parfaitement à présent. Smiley cligne
à bientôt.
Antoni.
Modifié par sheitanEB (29 Feb 2008 - 12:16)