2012-09-06 3 views
1

jQuery 전체 캘린더 이벤트 데이터 (여기서는 사용자의 생일을 나타냄)를 삽입하려고합니다. MySQL 데이터베이스에서 생일을 검색하고 있습니다.매년 jQuery 전체 캘린더에 생일 이벤트 추가하기

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){ 

     } 
    }); 

Tthis 때 페이지 좋은 작동합니다 : 당신이 $json 변수

javascript로 인코딩 정보이 JSON을 저장 참조하는 방법을 다음

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(); 
} 

:의 스크립트를 살펴

php 보자 (예를 들어, 다음 버튼을 누르거나 prev 버튼을 누르는 것을 의미), e 아주 년 생일은 달력에 표시됩니다. 이 목적을 위해 나는 viewDisplayrenderEvent 함수를 사용하도록 권고했지만, 자바 스크립트에서는 PHP에서 연수 변수를 어떻게 수정할 수 없습니다. viewDisplay의 함수 변수 i은 2012 년과 같은 연도의 숫자 값입니다. 내 문제는 어떻게 든 Date("Y")와 함께 i 변수를 renderEvent으로 바꾸는 것입니다. 또한 I는 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 주어진 것으로 생각이 예에서는 그렇게 =>

자바 스크립트 같은 변수로 검색된 정보를 저장하기 위해 시도했다. 나는 얘들 아, 내가 뭘하려고하는지 이해하고, 어떻게 그 일을 도와 주는지. 미리 감사드립니다 :)

+0

아마도 뭔가 누락되었습니다. 캘린더에 어떻게 이러한 이벤트를 표시하고 싶습니까? 시작 날짜가있는 일반 일정과 다른가요? 좀 더 설명해 주시겠습니까? – FajitaNachos

답변

3

가장 쉬운 해결책은 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] 
     ); 
    } 
} 

두 단점 :

서로 다른 생일을 관리 할 수 ​​없습니다
  • 는 (그래서 사람의 생일도 죽은 후에 발생할 수 있습니다)
  • 는 기하 급수적으로 비용에 리즈

프론트 엔드 솔루션을 구축하기 위해 이벤트를 반복하여 demo을 살펴볼 수도 있습니다.

+0

좋은 조언을 많이 주셔서 감사합니다 :) – tnanoba

+0

당신을 환영합니다 :-) – domi27

관련 문제