Script incomplet...

mimine66 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
mimine66 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je veux souhaiter l'anniversaire sur le site de l'association aux membres inscrits (site en construction).

Mais je suis débutant en ce qui concerne les scripts.

J'en ai pourtant trouvé un qui me convient et qui fonctionne parfaitement...Sauf que...

Quand il y a deux dates anniversaires le même jour le script ne m'en affiche qu'une...

Si quelqu'un avait la gentillesse de vouloir m'aider à modifier ce script je lui en serais éternellement reconnaissant.

Je veux bien apprendre par l'exemple.
Aussi, si vous vouliez me faire un exemple avec 3 ou 4 noms pour que je vois comment ça fonctionne...

Merci d'avance pour votre aide si précieuse.
Ci-dessous le script.
@+
-----------------------------

<script language="javascript" type="text/javascript">
// variable vide au départ
var sText = "";
var today = new Date;
var mois_actuel = today.getMonth() +1;
var jour_actuel = today.getDate();

// affectation suivant les anniversaires
if( mois_actuel == 5 && jour_actuel == 3) { sText = "Flavie"; }
if( mois_actuel == 5 && jour_actuel == 17) { sText = "Aymeric"; }
if( mois_actuel == 6 && jour_actuel == 1) { sText = "Sabine"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Tanguy"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Gérard"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Jérôme"; }

</script>

<div align="center"><strong>
<script language="javascript" type="text/javascript">
if( sText.length){ document.write( "Bon anniversaire " +sText +" !"); }
else{ document.write("Pas d'anniversaire aujourd'hui !"); }
</script>
</strong></div>
A voir également:

7 réponses

empty Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   176
 
Au lieu de faire 2x une même ligne comme :
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Tanguy"; }

Pourquoi ne pas simplement faire :
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor & Tanguy"; }
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Voilà:
<head> 
<script language="javascript" type="text/javascript"> 
// variables vides au départ 
var sText = new Array() ; //on met sous forme d'array, ainsi on pourra en empiler plusieurs 
var texte_a_ecrire=""; 

var today = new Date; 
var mois_actuel = today.getMonth() +1; 
var jour_actuel = today.getDate(); 

// affectation suivant les anniversaires 
// sText.push empile la valeur dans l'array 
if( mois_actuel == 5 && jour_actuel == 3) { sText.push("Flavie"); } 
if( mois_actuel == 5 && jour_actuel == 17) { sText.push("Aymeric"); } 
if( mois_actuel == 6 && jour_actuel == 1) { sText.push("Sabine"); } 
if( mois_actuel == 6 && jour_actuel == 13) { sText.push("Victor"); } 
if( mois_actuel == 6 && jour_actuel == 13) { sText.push("Tanguy"); } 
if( mois_actuel == 6 && jour_actuel == 26) { sText.push("Gérard"); } 
if( mois_actuel == 6 && jour_actuel == 26) { sText.push("Jérôme"); } 

//on peut mettre cette fonction dans le head, elle est appelée au chargement de la page 
function ecrire_bon_anniversaire(id_a_ecrire){ 
 //quelques explications 
 if( sText.length > 0){ //si l'array n'est pas vide 
  //on formate le texte en gras 
  texte_a_ecrire+='<strong>'; 
  //par une boucle on parcours cet array 
  for (i=0;i<sText.length;i++){ 
   //si plus d'un anniversaire on rajoute un <br /> pour faire un saut de ligne 
   if(i > 0 ) texte_a_ecrire+=" <br />"; 
   texte_a_ecrire+= "Bon anniversaire " +sText[i] +" !"; 
  } 
  texte_a_ecrire+='</strong>'; 
 }else{  
  texte_a_ecrire+="Pas d'anniversaire aujourd'hui !"; 
 } 
   
  //on ecrit dans le div atteint par son id 
  document.getElementById(id_a_ecrire).innerHTML=texte_a_ecrire; 
} 
</script> 
<head> 
<body onload="javascript:ecrire_bon_anniversaire('div_anniversaire');"> 
<div align="center" id="div_anniversaire" ><strong> 

</strong></div> 
</body>


Mais avec la methode que tu as choisie, il va falloir que tu modifie ton code pour rajouter un nouveau membre à chaque fois, si c'est un site en php avec base de données dans laquelle les mebres osnt inscrits, ce serait beaucoup plus facile de faire cela en php au moment de l'affichage de la page
0
mimine66 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réactivité de votre réponse...
C'est super génial.
Pour le moment je préfère rester sur ce script, quitte à rajouter manuellement les adhérents.
Juste une petite remarque, il semblerait qu'il y ait un affichage qui se chevauche et rend illisible le message !!!
J'ai essayé de bouger quelques lignes ici et là sans succés...
Pouvez-vous m'aider ?
Merci infiniment et pardon pour le dérangement.
Amitiés informatiques.
0
mimine66 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Autant pour moi, j'avais superposé 2 fenêtres d'affichage...
Par contre il m'affiche 13 fois le message ci-dessous !!!
Bon anniversaire undefined !
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
Alors;

var sText = [];

if( mois_actuel == 5 && jour_actuel == 3) { sText = ["Flavie"]; }
...
if( mois_actuel == 6 && jour_actuel == 13) { sText = ["Victor", "Tanguy"]; }
...

if( sText.length){
for (i =0; i<sText.length; i++)
document.write( "Bon anniversaire " +sText[i] +" !"); }

else{ document.write("Pas d'anniversaire aujourd'hui !"); }
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
bizarre tu as du oublier qq chose, car chez moi ça fonctionne, sous Firefox et IE, j'ai bien:

Bon anniversaire Gérard !
Bon anniversaire Jérôme !
0
mimine66 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne sais pas pourquoi mais le premier listing fonctionne maintenant !!!
Merci infiniment pour votre aide.
Cordialement
0