Тема: календар подій
Привіт. Хочу зробити календар подій, а саме...
є календар, коли юзер клікає на день календаря то зліва від него відображається дані про цей день які зберігаються в базі, проблема заключається в тому що я незнаю як зробити запит до бази щоб отримати дані про день який вибрав юзер. це потрібно зробити без перезагрузки сторінки.
Хтось має ідею як таке зробити?
Код:
<div id='2'>
<div id='calendarPosition' style='width: 30%; float: left; text-align: left;'>
<center><span>Оберіть дату</span></center>
<table id="calendar2">
<thead>
<tr><td id='monthDiv' >‹<td colspan="5" id='monthName'><td id='monthDiv'>›
<tr><td>Пн<td>Вт<td>Ср<td>Чт<td>Пт<td>Сб<td>Вс
<tbody>
</table>
<script>
function Calendar2(id, year, month) {
var Dlast = new Date(year,month+1,0).getDate(),
D = new Date(year,month,Dlast),
DNlast = new Date(D.getFullYear(),D.getMonth(),Dlast).getDay(),
DNfirst = new Date(D.getFullYear(),D.getMonth(),1).getDay(),
calendar = '<tr>',
month=["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"];
if (DNfirst != 0) {
for(var i = 1; i < DNfirst; i++) calendar += '<td id="day" onclick="showTime()">';
}else{
for(var i = 0; i < 6; i++) calendar += '<td id="day" onclick="showTime()">';
}
for(var i = 1; i <= Dlast; i++) {
if (i == new Date().getDate() && D.getFullYear() == new Date().getFullYear() && D.getMonth() == new Date().getMonth()) {
calendar += '<td class="today" id="day" onclick="showTime('+i+','+D.getMonth()+')">' + i;
}else{
calendar += '<td id="day" onclick="showTime('+i+','+D.getMonth()+')">' + i;
}
if (new Date(D.getFullYear(),D.getMonth(),i).getDay() == 0) {
calendar += '<tr>';
}
}
for(var i = DNlast; i < 7; i++) calendar += '<td> ';
document.querySelector('#'+id+' tbody').innerHTML = calendar;
document.querySelector('#'+id+' thead td:nth-child(2)').innerHTML = month[D.getMonth()] +' '+ D.getFullYear();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.month = D.getMonth();
document.querySelector('#'+id+' thead td:nth-child(2)').dataset.year = D.getFullYear();
if (document.querySelectorAll('#'+id+' tbody tr').length < 6) { // чтобы при перелистывании месяцев не "подпрыгивала" вся страница, добавляется ряд пустых клеток. Итог: всегда 6 строк для цифр
document.querySelector('#'+id+' tbody').innerHTML += '<tr><td> <td> <td> <td> <td> <td> <td> ';
}
}
Calendar2("calendar2", new Date().getFullYear(), new Date().getMonth());
// переключатель минус месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(1)').onclick = function() {
Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)-1);
}
// переключатель плюс месяц
document.querySelector('#calendar2 thead tr:nth-child(1) td:nth-child(3)').onclick = function() {
Calendar2("calendar2", document.querySelector('#calendar2 thead td:nth-child(2)').dataset.year, parseFloat(document.querySelector('#calendar2 thead td:nth-child(2)').dataset.month)+1);
}
function showTime(day, month) {
alert(day+" - "+month);
};
</script>
</div>
<div id='events' style='width: 60%; float: right;'>
Тут мають бути дані
</div>
</div>
Думав в блоці events де мають бути дані зробити sql запит і з допомогою js обновляти той блок, але не знаю як передати вибраний день в sql запит