ホームページ > バックエンド開発 > PHPチュートリアル > [転送][PHP] [06-12] PHPを使って簡単なカレンダーを作成する

[転送][PHP] [06-12] PHPを使って簡単なカレンダーを作成する

WBOY
リリース: 2016-06-23 14:29:29
オリジナル
1453 人が閲覧しました

よくインターネットを閲覧する友人は、他の人の Web ページで年、月、日が表示された美しいカレンダーを見たことがあるかもしれません。このような小さなカレンダーがあるだけで、他の人の Web ページが刺激的になり、単調ではなくなります。現時点では、自分の Web ページに掲載するだけでなく、この小さなプログラムの作り方についても説明します。実際、このカレンダーを作るのは難しくありません。もちろん、さまざまな方法がありますが、ここでは PHP について説明しますので、ここでは PHP を使用して作成します。
制作を皆さんにわかりやすくするために、まずは簡単なカレンダーを作ってみましょう。

このカレンダープログラムは、PHP の日付と時刻の関数と判定と比較のステートメントを多用しています。この小さなプログラムを作成することで、日付と時刻の関数を大まかに理解することができます。

プログラム構造を簡素化し、機能ブロックを独立させるために、1 つの大きなファイルで完了できるプログラムを 3 つの独立した小さなファイルに分割し、それぞれの小さなファイルの機能が比較的明確で集中するようにしました。そのほうが私たちにとって理解しやすいです。これら 3 つのファイルは、index.php ページ レイアウト ファイル、gouzao.php 構造カレンダー ファイル、gouzaoconfig.php 構成カレンダー ファイルです。 CSS カスケード スタイル シート ファイルもあります。

まず、index.php ファイルを見てみましょう:



Simple Calendar





< ;?php
require ("gouzao.php");
$yb=$year;
$yf=$year;
$mb=$month-1;
if ($ mb<1) {$yb=$year-1;}
$mf=$month+1;
if ($mf>12) {$yf=$year+1; }
?>








">戻る

< ;a href="">今日

">forward


上記のコードからわかるように、index.php ファイルには、主に StyleDefault.css スタイル シート ファイルと gouzao.php 構造カレンダー ファイルが含まれています。このファイルの機能は、すべてのファイルを直接的または間接的にまとめて整理し、想定したレイアウトに従ってページ上に表示することです。簡単に言えば、このファイルはレイアウトとして機能します。

gouzao.php

require ("gouzaoC​​onfig.php");
if (!isset($month)) $month=$_REQUEST["month"];
if (!isset($year)) $year=$ _REQUEST["year"];
$today=intval(date("d",time()));//intval 関数は変数の整数値を出力します
if (!$month) $month=date(" m", time());//$month は月を数値で表します
if (!$year) $year=date("Y",time());//$year は年を 4 桁で表します桁数
$day_count=1;
$month=intval($month);//$month変数の整数値を取得します
$mn=$mth[$month];//gouzaoC​​onfig.phpでは、$mthは配列、大文字の月は $mth 配列を通じて取得されます
$mn=$year."year".$mn;//カレンダーの年と月を出力します
$sd=date ("w",mktime( 0,0,0,$month,0,$year));// 数字で表される曜日、0 は日曜日を意味します
$cd=1-$sd;
$nd=mktime (0,0, 0,$month+1,0,$year);
$nd=( strftime ("%d",$nd))+1;
echo "

BORDER=0>n";
echo " n";
echo " n";
echo " n ";/**/
echo " n";
for ($I=1;$I<=7;$I++)
{
$dayprint=$I;
if ($dayprint==7) $ dayprint=$dayprint-7;
echo" n";
}
echo " n";/**/
for ($i=1;$i<7;$i++)//これにより数値が決まりますカレンダーの行数
{
echo " n";
for ($prow=1;$prow {
if ($day_count==$today && $highlightToday==1 && $cd>0 && $cd<$ nd)
{
echo " n";
}
echo "
n $ mnn
$day[$dayprint]

}
Else
{(if ($ CD & GT; 0 && $ CD & LT; $ ND) {
{& lt; td class = s2 $ BGC [$ day_count] "
echo" & gt; $ cd & lt ;/td & gt; n " ;;
$day_count++;
}
else
{
echo "

n";
$cd++;
}
}
エコー"
n";
?>

このコードは主に 2 つの for ループ ステートメントを使用して、カレンダーの正しい日数を出力します。

gouzaoconfig.php

//カレンダーテーブルの幅

$tableWidth=400;

$cellSpacing=1;

$cellPadding=0;

//週を配列に保存

$day[0]="日曜日";
$day[1]="月曜日";
$day[2]="火曜日";
$day[3]="水曜日";

$day[4]= "木曜日 ";

$day[5]="金曜日";
$day[6]="土曜日";

//月を配列に保存
$mth[1]="1月";
$mth [2 ]="2 月";
$mth[3]="3 月";
$mth[4]="4 月";

$mth[5]="5 月";

$mth[6]= "6 月";
$mth[7]="7 月";
$mth[8]="8 月";
$mth[9]="9 月";
$mth[10]="10 か月";
$mth [11]="11 月";
$mth[12]="12 月";
?>

styledefault.css

.mainTable {
background-color: #FFFFFF ;
border: 1px 実線 #003366;

}

//////////////月と年のテーブル行設定

.monthyearRow {
line-height: 17pt;
background-color: # FFFFFF;
text-align: center;

vertical-align: middle;

background-image: url(monthBg.gif);
}
///////////月と年のテキスト設定
. monthyearText {
font-family: 夏体;
font-size: 20px;
font-weight: Bold;
color: #252216;
}

.dayNamesRow {
line-height: 13pt;
background-color: #F5F4D3 ;
text-align: center;
vertical-align: middle;

}


.dayNamesText {
font-family: 宋体;
font-weight: Bold
color: #433D27;
background-image: url(dayBg.gif );

}

.rows {
Font-family: 宋体;
Font-size: 12px;
Color: #433D27;
line-height: 25pt;
text-align: center; //////////今日の日付color
.today {
color: #CF0000;

font-weight: Bold;

font-size: 16px;
}

///////// 日付付きセルの背景
.s2 {
background-image : url("cdef.gif");

background-color: #EEEEEE;

}
////////日付なしのセルの背景
.s20 {
background-image: url("cdef5.gif") ;
background-color: #EBEBEB;
}



完全な小さなカレンダー プログラムがここで完成しました。この小さなプログラムの実行環境には、PHP バージョン 4.1.0 以降が必要です。これら 4 つのファイルは同じファイル ディレクトリに配置する必要があります。

これは単なる単純なカレンダー プログラムです。より複雑なカレンダー プログラムの場合は、データベースまたはファイルを使用して対応するデータを保存できます。データベースやファイルを操作してカレンダーを高度に編集することができます。

この記事の出典: 171 ウェブマスター フォーラム (http://www.171zz.com/) 詳細な記事参照先: http://www.171zz.com/thread-56358-1-1.html

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート