Verjaardagskalender duidt niet alle jarigen aan

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
759
Gegroet specialisten

ik heb onderstaand scriptje voor verjaardagen geplukt van het internet.
Ik heb enkele verjaardagen ingegeven en ik stel vast dat hij slechts de laatste uit de reeks weergeeft op de bewuste verjaardag.
Wellicht moet een kleine programeeraanpassing gebeuren om dit euvel te kunnen omzeilen.
Mag ik beroep doen op de deskundigheid van de specialisten ad hoc?

In het voorbeeld hierna zijn 3 personen jarig op 11 december (11-12).

Met beste dank op voorhand

nIh1IlO
Code:
<script type="text/javascript" language="javascript">

var jar = new Array()


// verander hieronder de datum en de namen van de jarigen Gebruik geen extra nullen. Dus niet: 05-09 maar gewoon 5-9
// je kunt er zoveel toevoegen als je wilt


jar['4-12'] = new Array("J D, Speler Jongens Preminiemen");
jar['5-12'] = new Array("F V, Volleybal Speeltuin");
jar['5-12'] = new Array("J S, Volleybal Speeltuin");
jar[[COLOR="Red"]'11-12'[/COLOR]] = new Array("K C, Speelster Meisjes Miniemen ");
jar[[COLOR="red"]'11-12'[/COLOR]] = new Array("W V, Speler VOBOG Oldtimers");
jar['14-12'] = new Array("J , Speler 2de Prov A");
jar['17-12'] = new Array("E V, Speelster Meisjes Miniemen ");
jar['19-12'] = new Array("D D, Speler Jongens Scholieren");
jar['24-12'] = new Array("S, Medewerker");
jar['28-12'] = new Array("H R, Speler VOBOG Oldtimers");
jar[[COLOR="red"]'11-12'[/COLOR]] = new Array("L V, Trainster Volleybal Speeltuin");
jar['30-12'] = new Array("R, M");

jar['22-7'] = new Array("V T, webmaster");


// verander hieronder niets meer
var datum = new Date()
var dag = datum.getDate()
var maand = datum.getMonth() + 1
var alles = dag + '-' + maand

// verander hieronder de tekst die weergegeven moet worden
document.write('We vieren vandaag,  ' + dag + ' - ' + maand + ', de verjaardag van: <b><br>')
if(jar[alles])
	{
	i=0
	do
		{
		document.write(jar[alles][i] + '</b><br> Van harte gefeliciteerd vanwege de Club, kader, de ganse ploeg en supporters!')
		i++
		}
	while(i!=jar[alles].length)
	}
else
	{
	document.write('Helaas... vandaag geen taart! ')
	}
</script>
 
Laatst bewerkt door een moderator:
Het werkt wel als je alle verjaardagen van een datum bij elkaar zet.

Code:
<script type="text/javascript" language="javascript">

var jar = new Array()


// verander hieronder de datum en de namen van de jarigen Gebruik geen extra nullen. Dus niet: 05-09 maar gewoon 5-9
// je kunt er zoveel toevoegen als je wilt


jar['4-12'] = new Array("J D, Speler Jongens Preminiemen");
jar['5-12'] = new Array("F V, Volleybal Speeltuin");
jar['5-12'] = new Array("J S, Volleybal Speeltuin");
jar['11-12'] = [COLOR="Red"]new Array("K C, Speelster Meisjes Miniemen ","W V, Speler VOBOG Oldtimers","L V, Trainster Volleybal Speeltuin");[/COLOR]
jar['14-12'] = new Array("J , Speler 2de Prov A");
jar['17-12'] = new Array("E V, Speelster Meisjes Miniemen ");
jar['19-12'] = new Array("D D, Speler Jongens Scholieren");
jar['24-12'] = new Array("S, Medewerker");
jar['28-12'] = new Array("H R, Speler VOBOG Oldtimers");
jar['30-12'] = new Array("R, M");

jar['22-7'] = new Array("V T, webmaster");


// verander hieronder niets meer
var datum = new Date()
var dag = datum.getDate()
var maand = datum.getMonth() + 1
var alles = dag + '-' + maand

// verander hieronder de tekst die weergegeven moet worden
document.write('We vieren vandaag,  ' + dag + ' - ' + maand + ', de verjaardag van: <br>')
if(jar[alles])
	{
	i=0
	do
		{
		document.write('<b>'+jar[alles][i] + '</b><br> Van harte gefeliciteerd vanwege de Club, kader, de ganse ploeg en supporters!<br>')
		i++
		}
	while(i!=jar[alles].length)
	}
else
	{
	document.write('Helaas... vandaag geen taart! ')
	}
</script>

Verder heb ik de code iets aangepast, zodat de namen onder elkaar komen.
 
Beste hackerfrans

van harte bedankt voor je snelle reactie. Het werkt perfect!
Mag ik toch misschien nog de aandacht vragen voor een 'schoonheidsfoutje': de felicitatieformule wordt telkens herhaald voor alle jarigen op dezelfde dag.
Is het ook mogelijk om de codes aan te passen zodat dit maar één keer verschijnt?

Nogmaals een dikke 'merci' en hopelijk wordt mijn supplementair vraagje ook nog opgelost. :)

Allervriendelijkste groeten

nIh1IlO
 
Code:
if(jar[alles])
	{
	i=0
	do
		{
		document.write('<b>'+jar[alles][i] + '</b><br>')
		i++
		}
	while(i!=jar[alles].length)
        document.write(' Van harte gefeliciteerd vanwege de Club, kader, de ganse ploeg en supporters!<br>')
	}
else
 
Beste hackerfrans :thumb:

ik ben verstomd maar zeer aangenaam verrast :D door de snelheid en deskundigheid waarmee je 'mijn probleem' hebt opgelost!

Een zeer gewaardeerde dank en vriendelijke groeten.

nIh1IlO
 
Uitbreiding van verjaarskalender

Beste mede forumleden,

Ik heb de onderstaande verjaardagskalender ook gebruikt en werkt perfect.

Echter ik wil graag een uitbreiding hierop maken. Namelijk dat er ook vermeld wordt wie de volgende dag jarig is.

Ik heb al geprobeerd om dat o.a. via

var datum2 = new Date()
datum2.setDate(datum2.getDate()+1
var dag2 = datum2.getDate()

dit te laten zien.. maar ...ik kom hier niet uit.

Ik wil alleen een overzicht wie er vandaag EN morgen jarig zijn. Als er geen jarigen zijn dan moet er een tekst komen "vandaag geen jarigen" en/of "morgen geen jarigen".

Heeft iemand tips hoe ik dit zou kunnnen realiseren?

groetjes,
Gerrit
 
Beste GE1

ik heb wat gesleuteld aan het scriptje, zonder echter de pretentie te hebben me als 'programmeur' te bestempelen.
Het doet wat je wenst; de juiste presentatie moet wellicht nog naar eigen smaak aangepast worden.
Hier volgt de codetekst:

<script>

var jar = new Array()

// verander hieronder de datum en de namen van de jarigen Gebruik geen extra nullen. Dus niet: 05-09 maar gewoon 5-9
// je kunt er zoveel toevoegen als je wilt
jar['23-12'] = new Array("E V, Speler");
jar['26-12'] = new Array("B T, Bestuur");
jar['5-1'] = new Array("D ML, Volleybal Initiatie","R L, Volleybal Initiatie");
jar['6-1'] = new Array("A E, Speelster");
jar['8-1'] = new Array("Michiel PIETERS, Speler Jongens Preminiemen");
jar['17-1'] = new Array("R S, webmaster");


// verander hieronder niets meer
var datum = new Date()
var dag = datum.getDate()
var maand = datum.getMonth() + 1
var alles = dag + '-' + maand

// verander hieronder de tekst die weergegeven moet worden
document.write('We vieren vandaag, ' + dag + '-' + maand + ', de verjaardag van: <br><br>')

if(jar[alles])
{
i=0
do
{
document.write('<b>'+jar[alles] + '</b><br>')
i++
}
while(i!=jar[alles].length)
}
else
{
document.write('Helaas... vandaag geen taart! <br><br>')
}

var dag = datum.getDate()+1
var alles = dag + '-' + maand

document.write('We vieren morgen, ' + dag + '-' + maand + ', de verjaardag van: <br><br>')

if(jar[alles])
{
i=0
do
{
document.write('<b>'+jar[alles] + '</b><br>')
i++
}
while(i!=jar[alles].length)
document.write('<br>Van harte gefeliciteerd vanwege de Club, kader, de ganse ploeg en supporters!<br>')
}
else
{
document.write('Helaas... morgen ook geen taart! ')
}
</script>

Ik hoop je van dienst te hebben kunnen zijn.

Vriendelijke groeten en prettige eindejaarsfeesten gewenst van

nIh1IlO
 
bijna....

Beste NIh1IlO,

bedankt voor de snelle reactie.
En het werkt goed ... als de dagen binnen dezelfde maand liggen.
Maar als er een overgang komt van een maand, bijv. van 30-11 naar 1-12 dan werkt het (nog) niet.

Ik denk dat de regel:

var dag = datum.getDate()+1

wel de dag verhoogd maar niet de maand.

Hoe kan ik dat oplossen?

groetjes en ook prettige feestdagen
 
het werkt

Het 2e gedeelte van het script (2 regels) heb ik vervangen door 5 nieuwe.

var dag = datum.getDate()+1
var alles = dag + '-' + maand


var time = new Date();
time.setDate(time.getDate() + 1);
var dag = time.getDate()
var maand = time.getMonth() + 1
var alles = dag + '-' + maand

En dan werkt het.

Met dank aan alle medeforumleden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan