Hola a todos! vereis, he estado buscando por la web varios calendarios javascript, al final me decidi por este, lo tube que adaptar al css que tenia (por que me gustaba mas que otros diseños) pero ahora no se como ponerle que al hacer una consulta a la base de datos recojiendo 3 campos (dia, mes, año) me los ponga en enlace, no se si me explico, el calendario esta ya preparado para ponerle a un dia un enlace.
Lo que quiero es que al extraer el dia del evento de la BD me marque en el calendario como dia con enlace al evento...
os dejo el codigo JavaScript
Código Javascript
:
Ver original<script LANGUAGE="JavaScript">
<!-- Begin
monthnames = new Array(
"Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre");
var linkcount=0;
function addlink(month, day, href) {
var entry = new Array(3);
entry[0] = month;
entry[1] = day;
entry[2] = href;
this[linkcount++] = entry;
}
Array.prototype.addlink = addlink;
linkdays = new Array();
monthdays = new Array(12);
monthdays[0]=31;
monthdays[1]=28;
monthdays[2]=31;
monthdays[3]=30;
monthdays[4]=31;
monthdays[5]=30;
monthdays[6]=31;
monthdays[7]=31;
monthdays[8]=30;
monthdays[9]=31;
monthdays[10]=30;
monthdays[11]=31;
todayDate=new Date();
thisday=todayDate.getDay();
thismonth=todayDate.getMonth();
thisdate=todayDate.getDate();
thisyear=todayDate.getYear();
thisyear = thisyear % 100;
thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear));
if (((thisyear % 4 == 0)
&& !(thisyear % 100 == 0))
||(thisyear % 400 == 0)) monthdays[1]++;
startspaces=thisdate;
while (startspaces > 7) startspaces-=7;
startspaces = thisday - startspaces + 0;
if (startspaces < 0) startspaces+=7;
document.write('<table id="calendar" cellspacing="0" cellpadding="0" ');
document.write("<caption><a href='#' title='previous month' class='nav'>«</a> "
+ monthnames[thismonth] + " " + thisyear
+ " <a href='#' title='siguiente mes' class='nav'>»</a></caption>");
document.write("<tr>");
document.write("<th scope='col'>Lu</th>");
document.write("<th scope='col'>Ma</th>");
document.write("<th scope='col'>Mi</th>");
document.write("<th scope='col'>Ju</th>");
document.write("<th scope='col'>Vi</th>");
document.write("<th scope='col'>Sa</th>");
document.write("<th scope='col'>Do</th>");
document.write("</tr>");
document.write("<tr>");
for (s=0;s<startspaces;s++) {
document.write("<td> </td>");
}
count=1;
while (count <= monthdays[thismonth]) {
for (b = startspaces;b<7;b++) {
linktrue=false;
document.write("<td");
for (c=0;c<linkdays.length;c++) {
if (linkdays[c] != null) {
if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) {
document.write("><a href=\"" + linkdays[c][2] + "\">");
linktrue=true;
}
}
}
if (count==thisdate) {
document.write(" class='today'>" + count);
}
else{
if (count <= monthdays[thismonth]) {
document.write(">" + count);
}
else {
document.write(" ");
}
}
if (linktrue)
document.write("</a>");
document.write("</td>");
count++;
}
document.write("</tr>");
document.write("<tr>");
startspaces=0;
}
document.write("</table></p>");
// End -->
</script>
Gracias! lo siento si no me he explicado bien, si es asi intentare explicarme mejor ;)