私は現在、このhttp://davidwalsh.name/php-calendarをカレンダーとして使用していますが、次の月に「次の」/「前回の」リンクを追加する方法がありません。感謝!カレンダー - 次のリンク
答えて
カレンダーを描画する機能を使用すると、例えば、次/前のリンクで$month
と$year
を供給する必要が
function draw_calendar($month,$year){
あるので、
/calendar.php?month=12&year=2011
このデータは、そのようなリンクがクリックされたときに$_GET
で利用可能です。あなたはunsanitizedデータをたくないので、あなたがあなたのカレンダースクリプトの先頭に、このようにそれをフェッチ:フィルタ機能は、我々は1と12と2010年と2015年の間に年間の月を得ることを確認します
$input = filter_input_array(
INPUT_GET,
array(
'month' => array(
'filter' => FILTER_VALIDATE_INT,
'options' => array('min_range' => 1, 'max_range' => 12)
),
'year' => array(
'filter' => FILTER_VALIDATE_INT,
'options' => array('min_range' => 2010, 'max_range' => 2015)
)
)
);
(に応じて調整適切に表示されるようにオプションを削除してください)。渡された数値がその範囲内にない(またはリンクがまだクリックされていない)場合は、false
が返されます。つまり、デフォルト値を設定する必要があります。
$input['year'] = $input['year'] ?: date('Y');
$input['month'] = $input['month'] ?: date('n');
これはスクリプトに渡された有効な値を使用するか、無効な値の場合には、現在の年および/または月に年および/または月を設定しますか。
今カレンダー描く:あなたは手動月は12または1であるかどうかを確認してから増加/に応じて年を低下させたりDateTime
オブジェクトを使用することができ、次/前のリンクについては
echo draw_calendar($input['month'], $input['year']);
を
$dateTime = new DateTime;
$dateTime->setDate($input['year'], $input['month'], 1));
printf(
'<a href="/calendar.php?month=%d&year=%d">Next</a>' .
'<a href="/calendar.php?month=%d&year=%d">Previous</a>',
$dateTime->modify('-1 month')->format('n'),
$dateTime->format('Y'),
$dateTime->modify('+2 month')->format('n'),
$dateTime->format('Y')
);
別のオプションは、セッション中に現在の月と年を格納することと、そしてちょうど肝炎う次の/前のリンクは年と月がなく、ちょうど前後に行くために+1や-1のようなものです。しかし、あなたはある月にジャンプする直接の方法はありません。
これだけです。
'INPUT_GET'の後にコンマがありませんか? –
@ Jaredはい、ありがとうございます。一定。他のマイナーなタイプミスを自由に編集する – Gordon
- 1. MOSSカレンダーWebパーツを共有Exchangeカレンダーにリンクする
- 2. 「カレンダーに追加」リンクを提供する
- 3. GoogleカレンダーAPIと会議リンクを取得
- 4. 私は次のリンクを経てい
- 5. 次のアクティビティへのリンク
- 6. コードギターのカレンダーの日からのリンクを作成する
- 7. カレンダーのクラスのクエリ文字列と次/前の文字
- 8. pageloadのカレンダーは黒ですが、次の日をクリックします。
- 9. ワードプレスの次のリンクと前のリンクにカスタムフィールドのデータを表示
- 10. リンクBootsrapタブ(前へ次へ)
- 11. Googleカレンダーのapi - shareカレンダー
- 12. カレンダーを表示して現在の日付に次の6か月のカレンダーを表示する
- 13. 出版社:次のページのテキストボックスにリンク
- 14. JavaFx。ログイン次のページへのリンク
- 15. HTMLリンクで次のページにリンクする前にオーディオを再生
- 16. あるデータソースの次元と別の次元の次元をリンクする
- 17. Django - シングル・ポスト・ビュー、前/次のリンク
- 18. Ajax彗星 - 遅い次のリンク
- 19. Wordpress次/前へ画像へのリンク
- 20. 私は受信者だけでカレンダーを表示、しかし、カレンダーの自分のリストにカレンダーを追加しないことを可能にするプライベートGoogleカレンダーへのリンクを提供するための方法が必要ですGoogleカレンダー
- 21. 私のGoogleカレンダーを購読するためのリンクを作成する方法
- 22. ASP.Netカレンダー/イベントアプリケーション
- 23. 他のユーザーからリンクされたカレンダーを取得する方法は?
- 24. javascriptカレンダーのバグ
- 25. TradingviewカレンダーJavascriptを
- 26. jquery/cssカレンダーのバグ
- 27. 次の日曜日の次の日を取得する(カレンダーを使用していない)
- 28. Androidカレンダーは現在の週、前の週、次の週を取得します
- 29. アンドロイドのカレンダーUI
- 30. Javascriptカレンダーのローカライゼーション
もっとお試しください。何が起こっているのかを理解し、必要な機能を実装してください。 – TJHeuvel