jQuery
この場合、ユーザーの誕生日を表す完全なカレンダー イベント データに挿入しようとしています。データベースから誕生日を取得してい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
and renderEvent
functions を使用することをお勧めしましたが、年変数をphpでもjavascriptでも変更できません。関数内のviewDisplay
変数i
は年の数値です (2012 など)。Date("Y")
私の問題は、何らかの形でi
variable をrenderEvent
functionに更新することです。また、取得した情報を次のように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。みんな、私がやろうとしていることを理解していると思います。それを行う方法を教えてください。事前にどうもありがとう:)