Verjaardags script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

14/01/2006 14:27:00
Quote Anchor link
Ben op zoek naar een verjaardags script.
Gebruikers kunnen hun verjaardag zelf toevoegen.
Op de site zou je dan kunnen zien wie die dag jarig is en wie de komende 7 dagen. Tliefst zonder gebruik van MySQL
 
PHP hulp

PHP hulp

16/01/2025 06:27:01
 
Arjan Kapteijn

Arjan Kapteijn

14/01/2006 14:33:00
Quote Anchor link
Zonder MySQL word het wel een vrij inefficient iets...

Je moet dan bij iedere bezoeker een .txt inlezen, per regel in een array. Dan per item kijken naar de datum en dat vervolgens displayen.

Je zou het met een cronjob 1x per dag kunnen doen. Maar eigenlijk zou ik het advies geven om hier niet aan te beginnen zonder database.
 

14/01/2006 14:54:00
Quote Anchor link
wel dit scriptje wou ik eerder gebruiken, maar vanwege de weet op privacy mag ik die datums niet zomaar zelf toevoegen, en ze mij laten mailen is nogal omslachtig.
Dit werkt met interne array. Ma tzou moeten werken zodat gebruikers via een formulier ofzo hun namen zlef in de array kunnen steken.
<script type="text/javascript">
Date.prototype.getDiff = function(date, interval){
if (typeof date == "string"){
date = new Date(date);
}
if (isNaN(date) || !(date instanceof Date)){
return NaN; //invalid date passed
}
if (typeof interval == "undefined") interval = "ms"; //msec (default)
var diff = this - date; //alert(this+' - '+date+" = "+diff)//diff in msec
switch(interval.toLowerCase()){
case "s": //sec
diff = diff/1000; break;
case "n": //min
diff = diff/(1000*60); break;
case "h": //hr
diff = diff/(1000*60*60); break;
case "d": //day
diff = diff/(1000*60*60*24); break;
case "m": //month
diff = diff/(1000*60*60*24*30); break;
case "y": //year
diff = diff/(1000*60*60*24*365); break;
default:
; //msec
}
return Math.floor(diff);
}

var arrBday = [
['Bob', '8/30/1973'],
['Glenn', '9/5/1989'],
['Nathan', '8/5/1999'],
['Peter', '8/18/1977'],
['John', '8/19/1999']
];

function getBdayList(numDays){
var bday,temp,idx,diff;
var today = new Date();
var bdayList = new Array();
for (var i=0;i<arrBday.length;i++){
bday = new Date(arrBday[1]);
if (isNaN(bday)) continue;
temp = new Date(today.getFullYear(), bday.getMonth(), bday.getDate(), 23, 59, 59, 999);
diff = temp.getDiff(today, "d");
if (diff >= 0 && diff <= numDays){
idx = bdayList.length;
bdayList[idx] = new Object();
bdayList[idx].name = arrBday[0];
bdayList[idx].bday = arrBday[1];
bdayList[idx].age = today.getDiff(bday, "y");
if (diff > 0) bdayList[idx].age = bdayList[idx].age + 1;
bdayList[idx].today = (diff == 0) ? true : false;
bdayList[idx].site = arrBday[2];
}
}
return bdayList;
}

function displayBdayList(){
var bdayList = getBdayList(14);
var len = bdayList.length;
var s1 = ""; //today's bday list
var s2 = ""; //next 2 week's bday list
if (len>0){
for (var i=0; i<len; i++){
if (bdayList.today){
if (s1 != ""){
s1 += ', ' + bdayList.name + ' (' + bdayList.age + ')';
}
else{
s1 = '<span class="header">Vandaag <img src=http://users.skynet.be/fa393819/happybday.gif>:<br></span> ' + bdayList.name + ' (' + bdayList.age + ')';
}
}
else{
if (s2 != ""){
s2 += ', ' + bdayList.name + ' - ' + bdayList.bday + ' (' + bdayList.age + ')';
}
else{
s2 = '<span class="header">Komende 14 dagen verjaren:<br></span> ' + bdayList.name + ' - ' + bdayList.bday + ' (' + bdayList.age + ')';
}
}
}
}
else{
s1 = "Geen jarigen de<br>komende 14 dagen.";
}
document.write('<div>' + s1 + '</div><div>' + s2 + '</div>');
}
</script>

en in de body:
<script type="text/javascript">
displayBdayList();
</script>
 
Eric Cartman

Eric Cartman

14/01/2006 16:10:00
Quote Anchor link
Kijk eens bij personal reminder, als je dat een beetje ombouwt, zou het wel moeten lukken...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.