добавлять события рождения в jQuery полный календарь каждый год

Я пытаюсь вставить в jQuery полные данные календаря, которые в этом случае представляют дни рождения пользователей. Я получаю дни рождения из MySQL данных MySQL . Давайте посмотрим на скрипт

php :

 if ($birthday_r = $connection->query("SELECT CONCAT(name,' ',surname),MONTH(birthday),DAY(birthday) FROM users")){ while ($birthday_row = $birthday_r->fetch_row()){ $birthday_array[] = array( 'title' => $birthday_row[0], 'start' => Date("Y") . "-" . $birthday_row[1] . "-" . $birthday_row[2] ); } $json = json_encode($birthday_array); birthday_r->free(); } 

Затем, как вы видите сохранение этой json-кодированной информации в переменной $json

javascript :

 jQuery("#calendar").fullCalendar({ // initialize full calendar header: { left: 'prev,next today', center: 'title', right: 'month,basicWeek,basicDay' }, <?php if (isset($json_encode)){echo "events: " . $json . ",";} ?> viewDisplay: function(view){ var i = view.title.slice(-4); }, renderEvent: function(event){ } }); 

Это работает хорошо, когда страница загружена, но я хочу, чтобы после изменения повестки дня (например, нажмите кнопку «Далее» или «предыдущие кнопки»), чтобы каждый год рождения показывался в календаре. Для этого я посоветовал использовать функции viewDisplay и renderEvent , но я не могу изменять переменную года как в php, а также в javascript. in viewDisplay function variable i – числовое значение года (например, 2012). Моя проблема заключается в том, чтобы как-то обновить Date("Y") с переменной i в функцию renderEvent . Также я попытался сохранить полученную информацию в переменную javascript, например: =>

в этом примере рассмотрено, что в php задано

 'start' => $birthday_row[1] . "-" . $birthday_row[2] // php // below JavaScript code var json_obj = <?php if (isset($birthday_array)){echo $birthday_array;} ?> var d = new Date(); for (var i=0;i<json_obj.length;i++){ json_obj[i] = d.getFullYear() + "-" + json_obj[i]; } // this scripts works as well but I can not manipulate after prev or next buttons are pressed on calendar 

PS. Я думаю, ребята, понимаю, что я пытаюсь сделать, PLS помочь мне, как это сделать. Большое спасибо заранее 🙂

Ну, самые простые решения могут заключаться в изменении вашего цикла PHP и добавлении «нескольких» лет к вашим событиям.

 while ($birthday_row = $birthday_r->fetch_row()){ $yearBegin = date("Y"); $yearEnd = $yearBegin + 10; // edit for your needs $years = range($yearBegin, $yearEnd, 1); foreach($years as $year){ $birthday_array[] = array( 'title' => $birthday_row[0], 'start' => $year . "-" . $birthday_row[1] . "-" . $birthday_row[2] ); } } 

Два недостатка:

  • вы не можете управлять разными днями рождения (так что дата рождения человека может произойти, даже после его смерти)
  • он переходит в экспоненциальные затраты

Вы также можете взглянуть на демонстрацию с повторяющимися событиями, чтобы создать внешнее решение.