Condition if - elseif
Posté : 14 avr. 2015, 19:08
Bonjour,
Débutant en php, je suis entrain d'élaborer un site sportif. Sur ce site j'ai mis un petit script d'anniversaires et j'ai un souci d'affichage.
Le script affiche les d'anniversaires du mois (une table mysql contient les noms des gens, leurs jours et mois de naissance).
Donc a l'affichage, je désire obtenir (par exemple pour ce mois ci) :
Anniversaire du mois d'avril
Personne X (le 1er)
Personne Y (le 6)
Personne Z (le 14. C'est son anniversaire aujourd'hui)
Mon problème est qu' il annonce l'anniversaire automatiquement a la dernière personne de la liste (même si ce n'est pas son anniversaire)..
Pour ça j'ai utilisé le test conditionnel suivant
if ($jour==1) {
echo '<span class="couleur2arial12gras">'. $nom .' (le 1<sup>er</sup>)</span><br />';
}
elseif ($jour) {
echo '<img src="images/cadeau.png"> <span class="anniversaire">'. $nom .' (le' . $jour .'. C\'est son anniversaire aujourd\'hui)</span><br />';
}
else {
echo '<span class="couleur2arial12gras">'. $nom .' (le '. $jour .')</span><br />';
}
la première condition c'est si l'anniversaire a lieu le 1er du mois. Il permet d'afficher Personne X (le 1er) au lieu de Personne X (le 1)
la deuxième condition (celle qui semble me poser problème) c'est le jour de l'anniversaire (on affiche une image d'un petit cadeau, on change la couleur de la police et on annonce que l'anniversaire est aujourd'hui).
la troisième condition ce sont tous les autres cas (donc du 2 jusque la fin du mois hors jour d'anniversaire).
J'ai essayé la condition avec un switch / case et j'ai exactement le même souci.
J'ai également essayer en fonction de la date du jour elseif ($jour==date('d')) et en fait la date de la derniere personne de la liste est automatique mise a la date du jour.
Par exemple pour ce mois-ci la date d'anniversaire de la dernière personne de la liste c'est le 13 avril. La ligne continue d’être annoncée comme étant son anniversaire aujourd'hui et avec la fonction date, son jour d'anniversaire est automatiquement changé a la date du jour.
Me suis-je trompé dans la variable $jour (qui va chercher le jour de naissance dans la base mysql) ou dans la condition ?
Merci pour votre possible aide.
Michel
Débutant en php, je suis entrain d'élaborer un site sportif. Sur ce site j'ai mis un petit script d'anniversaires et j'ai un souci d'affichage.
Le script affiche les d'anniversaires du mois (une table mysql contient les noms des gens, leurs jours et mois de naissance).
Donc a l'affichage, je désire obtenir (par exemple pour ce mois ci) :
Anniversaire du mois d'avril
Personne X (le 1er)
Personne Y (le 6)
Personne Z (le 14. C'est son anniversaire aujourd'hui)
Mon problème est qu' il annonce l'anniversaire automatiquement a la dernière personne de la liste (même si ce n'est pas son anniversaire)..
Pour ça j'ai utilisé le test conditionnel suivant
if ($jour==1) {
echo '<span class="couleur2arial12gras">'. $nom .' (le 1<sup>er</sup>)</span><br />';
}
elseif ($jour) {
echo '<img src="images/cadeau.png"> <span class="anniversaire">'. $nom .' (le' . $jour .'. C\'est son anniversaire aujourd\'hui)</span><br />';
}
else {
echo '<span class="couleur2arial12gras">'. $nom .' (le '. $jour .')</span><br />';
}
la première condition c'est si l'anniversaire a lieu le 1er du mois. Il permet d'afficher Personne X (le 1er) au lieu de Personne X (le 1)
la deuxième condition (celle qui semble me poser problème) c'est le jour de l'anniversaire (on affiche une image d'un petit cadeau, on change la couleur de la police et on annonce que l'anniversaire est aujourd'hui).
la troisième condition ce sont tous les autres cas (donc du 2 jusque la fin du mois hors jour d'anniversaire).
J'ai essayé la condition avec un switch / case et j'ai exactement le même souci.
J'ai également essayer en fonction de la date du jour elseif ($jour==date('d')) et en fait la date de la derniere personne de la liste est automatique mise a la date du jour.
Par exemple pour ce mois-ci la date d'anniversaire de la dernière personne de la liste c'est le 13 avril. La ligne continue d’être annoncée comme étant son anniversaire aujourd'hui et avec la fonction date, son jour d'anniversaire est automatiquement changé a la date du jour.
Me suis-je trompé dans la variable $jour (qui va chercher le jour de naissance dans la base mysql) ou dans la condition ?
Merci pour votre possible aide.
Michel