週間カレンダーのサンプルありませんか?
月間カレンダーならいろいろ見つけたんですが週間カレンダーがどうしても見つかりません。
昨日としては・・・
1.スプリクトを実行すると今週のカレンダを表示
2.『先週』『今週』『来週』へ遷移出来る。

どなたか助けてください。

A 回答 (3件)

PHP4.0.6とPHP3.0.15-i18n-jaで動作確認しました。



<HTML lang="ja"><HEAD>
<META http-equiv="content-type" content="text/html; charset=euc-jp">
<TITLE>WEEKカレンダー</TITLE>
</HEAD><BODY>
<?php
if (empty($week)){
$y = date("Y", time());
$m = date("m", time());
$d = date("d", time());
$w = date("w", time());
$week = date("Y/m/d",mktime(0,0,0,$m, $d - $w, $y));
}
list($y, $m, $d) = split('/', $week);
$prev_week = date("Y/m/d", mktime(0, 0, 0, $m, $d-7, $y));
$next_week = date("Y/m/d", mktime(0, 0, 0, $m, $d+7, $y));
echo "【".$y."年】";
echo "<A HREF=\"$PHP_SELF?week=$prev_week\"><-先週</A>";
echo ".....................";
echo "<A HREF=\"$PHP_SELF\"><今週></A>";
echo ".....................";
echo "<A HREF=\"$PHP_SELF?week=$next_week\">次週-></A>";
echo "<TABLE BORDER><TR BGCOLOR=\"DCDCDC\"><FONT SIZE =\"2\">";
$a = array("日","月","火","水","木","金","土");
for ($i=0;$i < 7; $i++){
echo "<TH ";
if($i == 0){
echo "BGCOLOR=\"FFDDDD\"";
} else if ($i == 6){
echo "BGCOLOR=\"87CEEB\"";
}
echo "><FONT SIZE=\"2\">";
echo date("m/d", mktime(0, 0, 0, $m, $d+$i, $y))."(".$a[$i].")";
echo "</FONT></TH>";
}
echo "</FONT></TR></TBLE>";
?>
</BODY></HTML>

この回答への補足

ご回答ありがとうございます。
まさにこれを探していました!

ところでネスケ4.75でうまく表示されないのは
なぜでしょうか?

補足日時:2001/11/22 12:34
    • good
    • 0
この回答へのお礼

ソースを修正したらネスケ4.75でもうまく表示できました。
この度は本当にありがとうございました。

お礼日時:2001/11/22 12:46

こんにちはsumomo0423さん、xruzです。


「見て」と言われたので、お邪魔しましたがphpはまったく判りません?_?
一応javascriptで記述してみました、参考になりますでしょうか?
(Ie5.5sp2でのみ動作確認)

<html>
<head>
<title>weekcal</title>
</head>
<script language="JavaScript">
<!--
var w;
function wtWeek(d) {
d.setDate(d.getDate()-d.getDay()); // 今週の日曜日へ移動
w=new Date(d); // 表示週を保存
document.all("ym").innerHTML=d.getFullYear()+"/"+(d.getMonth()+1); // 日曜の年月
for(var i=0;i<7;i++) { // 一週間分
document.all("wd"+eval(i)).innerHTML=d.getDate(); // 日をセット
d.setDate(d.getDate()+1);} // 翌日セット
}
function sj() {
wtWeek(new Date());
}
function mvWeek(dd) {
w.setDate(w.getDate()+dd); // 週移動
wtWeek(w);
}
//-->
</script>
<body onLoad="sj();">
<table border="1" style="width:200px;background:linen;text-align:center;">
<tr><td style="width:33%">
<a href="javascript:void(0);" onClick="mvWeek(-7)">-</a></td><td id="ym"></td>
<td style="width:33%">
<a href="javascript:void(0);" onClick="mvWeek(7)">+</a></td></tr>
<tr><td><b id="wd0"></b>(日)</td><td colspan="2"></td></tr>
<tr><td><b id="wd1"></b>(月)</td><td colspan="2"></td></tr>
<tr><td><b id="wd2"></b>(火)</td><td colspan="2"></td></tr>
<tr><td><b id="wd3"></b>(水)</td><td colspan="2"></td></tr>
<tr><td><b id="wd4"></b>(木)</td><td colspan="2"></td></tr>
<tr><td><b id="wd5"></b>(金)</td><td colspan="2"></td></tr>
<tr><td><b id="wd6"></b>(土)</td><td colspan="2"></td></tr>
</table>
</body>
</html>

がんばってくださいね(~:~i
    • good
    • 0

そのまま使うということだと駄目かもしれませんが。


ソースを研究する、修正するということであれば、下記のものが参考になるかもしれません。

なんか表記が英語じゃないんですけど…。

月間表示と週間表示が切り替えられるというもののようです。

参考URL:http://webcalendar.sourceforge.net/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q1週間カレンダー

こんばんは。お世話になっております。
書籍にあった下記のソースを参考に、1週間単位で表示(および週単位で移動)させたいと考えているのですが、for文などの応用が出来ず、アドバイスを頂戴できればと投函させて頂きました。
お忙しい中恐縮ですが、お力いただけたら幸いです。

描いている表示
<<    >>
日 月 火 水 木 金 土
24 25 26 27 28 29 30

<?php
//感じなところでしょうが文字数制限のため省略。
//フォームにて、西暦、月を取得
//yyyy = $_POST["yyyy"];
//$yyyy = date("Y");
//$mm = date("m");


echo "<table border=\"1\">";
echo "<tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td></tr>";
$wd1 = date("w", mktime(0, 0, 0, $mm, 1, $yyyy));
$d = 0;
$lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy));

for ($i = 0; $i <= 5; $i++) {
if ($d >= $lastd) {break;}
echo "<tr>";
for ($j = 0; $j <= 6; $j++) {
$d = $i * 7 + $j - $wd1 + 1;
if ($d > $lastd or $d < 1) {
echo "<td></td>";
}
else {
echo "<td>";
}
echo $d;
echo "</td>";
}
}
echo "</tr>";
}
echo "</table>";

丸投げのようで、すみません。そんなつもりはないのですが・・・要領が掴めず困っております。

こんばんは。お世話になっております。
書籍にあった下記のソースを参考に、1週間単位で表示(および週単位で移動)させたいと考えているのですが、for文などの応用が出来ず、アドバイスを頂戴できればと投函させて頂きました。
お忙しい中恐縮ですが、お力いただけたら幸いです。

描いている表示
<<    >>
日 月 火 水 木 金 土
24 25 26 27 28 29 30

<?php
//感じなところでしょうが文字数制限のため省略。
//フォームにて、西暦、月を取得
//yyyy = $_POST["yyyy"];
//$yyy...続きを読む

Aベストアンサー

どもですがるです。
まぁ日付けのプログラミングは、一度「日付け」というもの自体について色々と知ったほうがよい、ってのはあるのですが。
今回のケース。ぢつは「ユリウス日」ってのの知識があるとものごっつく「楽」になりますし。

んで、書かれているソースですが。2点ほど。

まず
echo "<a href=\"./sukejuuru.php?d=$w_last\"><</a>";
echo "  ";
echo "<a href=\"./sukejuuru.php?d=$w_next\">></a>";
ですが。これだとNGですね。
年と月も一緒に渡してあげないと、月またぎ年またぎですぐに変な動作しちゃいます。
if($_GET["d"]<>""){
$dd = $_GET["d"];
}
について、月と年でもやってあげるとよいかと思います。

あともう一つは。
$w_last = $dd-7;
$w_next = $dd+7;
の値が、時々31越えたりマイナスに食い込んだりするのですが。
まぁ「年月」渡しておけば計算は出来るのでさほど問題ないです。
ただ、見た目が気になるようなら、

$awk = split("-", date("Y-m-d", mktime(0, 0, 0, $mm, $w_last, $yyyy)));

を使って整理してあげてもよい…かもしれません。

多分もうほんのちょっとだと思いますので。
頑張ってください~ ^^

どもですがるです。
まぁ日付けのプログラミングは、一度「日付け」というもの自体について色々と知ったほうがよい、ってのはあるのですが。
今回のケース。ぢつは「ユリウス日」ってのの知識があるとものごっつく「楽」になりますし。

んで、書かれているソースですが。2点ほど。

まず
echo "<a href=\"./sukejuuru.php?d=$w_last\"><</a>";
echo "  ";
echo "<a href=\"./sukejuuru.php?d=$w_next\">></a>";
ですが。これだとNGですね。
年と月も一緒に渡してあげないと、月またぎ年またぎで...続きを読む

Q月曜日から始まる週間カレンダーの作り方

いつもありがとうございます。
下記のようなコードを書いて1週間のカレンダーを作っていますが、
どうしても日曜日からの表示になります。

この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。

よきアドバイスをお願いします。



<?
//来週・前週の---日曜日----をgetした値
$get_sunday = htmlspecialchars($_GET["get_sunday"]);
$entry_day = htmlspecialchars($_GET["entry_day"]);

//変数の値の識別カレンダー表示
//get_sunday (来週・前週)の値がgetされていたら
if($get_sunday!=""){
//getされた日曜日の日付
$mm = date("m",strtotime($get_sunday));
$dd = date("d",strtotime($get_sunday));
$yyyy = date("Y",strtotime($get_sunday));

//getされた日曜日の日付(日のみ)
$sunday_num = $dd;

//getされた日曜日の日付(年月日)
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
}

// =================================================
//変数の値の識別           カレンダー表示

//entry_day (指定した日)の値をgetされたら
if($entry_day!=""){

$mm = date("m",strtotime($entry_day));
$dd = date("d",strtotime($entry_day));
$yyyy = date("Y",strtotime($entry_day));

//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
//日0・月1・火2・水3・木4・金5・土6
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
//entry_dayの値
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));

//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;

}

// =================================================
//変数の値がない場合は本日の日付の取得 カレンダー表示

if($get_sunday=="" and $entry_day==""){

$mm = date("m",time());
$dd = date("d",time());
$yyyy = date("Y",time());

//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));

//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;
}

//前週、次週に日曜日の日付を取得    カレンダー表示
$sunday_last = $sunday_num - 7;
$sunday_next = $sunday_num + 7;

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>レンダー画面</title>
</head>

<body>
<table>
<tr>
<td></td>
<td bgcolor="#00FFFF">日</td>
<td bgcolor="#00FFFF">月</td>
<td bgcolor="#00FFFF">火</td>
<td bgcolor="#00FFFF">水</td>
<td bgcolor="#00FFFF">木</td>
<td bgcolor="#00FFFF">金</td>
<td bgcolor="#00FFFF">土</td>
<td></td>
</tr>
<tr>
<form method="get" name="form2"action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_last, $yyyy)); ?>">
<input type="submit" name="Submit2" value="前週へ">
</td>
</form>

<?
//週カレンダー(前週ボタン作成)ここまで
//週カレンダー日付を入れる
$w2 = $sunday_num;
$select_day = date("Y-m-d", mktime(0, 0, 0, $mm, $w2, $yyyy));
$i = 0;
while($i < 7) {
//日曜日から順に日付を$select_dayに入れていく
?>
<td bgcolor="#CCFFFF"><? echo date("m月d日", mktime(0, 0, 0, $mm, $w2+$i, $yyyy)) ?></td>
<?
// 日付けを一つ繰り上げる
$i++;
}
?>
<form method="get" name="form2" action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_next, $yyyy)); ?>">
<input type="submit" name="Submit" value="次週へ">
</td>
</form>
</table>
</body>
</html>

いつもありがとうございます。
下記のようなコードを書いて1週間のカレンダーを作っていますが、
どうしても日曜日からの表示になります。

この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。

よきアドバイスをお願いします。



<?
//来週・前週の---日曜日----をgetした値
$get_sunday = htmlspecialchars($_GET["get_sunday"]);
$entry_day = htmlspecialchars($_GET["entry_day"]);

//変数の値の識別カレンダー表示
//get_su...続きを読む

Aベストアンサー

$sunday_num = $dd - $week_num;

$sunday_num = $dd - $week_num +1;
で月曜からの表示になります。
あとは<td>の順番を変えるのと。

後はコードこのままでも大丈夫だと思いますが不安なら
他の方のコメントも少し待った方がよいかもですね

このカレンダーなかなか面白いですね
私は見たことない感じなので、今後の勉強にさせて頂きます
※ 転用するような真似は絶対しません

QグーグルカレンダーのようなカレンダーをPHPで作るには

グーグルカレンダーのような、クリック一つで簡単にスケジュールが書き込める、また作ったスケジュールを他の日に移動できる、スケジュールを色で分けれるなど、グーグルカレンダーそっくりのカレンダーを作りたいのです。

PHPで作れるような感じがするのですが、実際どうでしょう?作る方法を知っている方、ぜひとも教えてください。

また、PHPで作れなければ、ほかの方法はどんなのがあるのでしょうか?

グーグルカレンダーのようなものは不可能であれば、最低限、スケジュールが書き込める機能を持ったカレンダーを作れればと考えています。

会社で使うのですが、会社のメンバーそれぞれにIDをふり、メンバーそれぞれが使えるようにしたいのです。

宜しくお願いします!

Aベストアンサー

基本的に、PHPで可能だと思う。ただ、Googleのカレンダーのようなインタラクティブなインターフェイスは、Ajax(JavaScript)が不可欠になる。従って、PHP + JavaScriptという形になると思う。またデータの保管はSQLデータベースあたりが必要になるだろう。(PHPにあるSQLiteでももちろん可能)

基本的に、サーバーサイドの言語なら、どんなものでも作ることはできると思う。

QグーグルカレンダーでカレンダーをWEBに表示した予約システム

例えば英会話のホームページにGoogleカレンダーを使ってレッスンの予定を公開し、生徒さんがそのカレンダーを見てあいている時間に予約を入れると言うようなシステムを作ることはできるのでしょうか?(PHP+MySQLなど)

その場合、生徒さんもGoogleアカウントが必要ですか?それとも学校だけアカウントがあれば大丈夫でしょうか?

ただレッスンのスケジュールを表示するだけなら学校のアカウントだけで平気そうですが、生徒さんが自分の予定を入れる場合は生徒さんもアカウントが必要になるのでしょうか?それとも、カレンダーAPIを使ったプログラミングでうまくできますか?

GoogleカレンダーとそのAPIを使ってレッスン予約システムが作れたらと思ったのですが、生徒さんもGoogleアカウントを持っている必要があるとなるとあまり現実的ではないと思って質問させていただきました。

Aベストアンサー

それはやめたほうがいいですよ。

ひとつのカレンダーを共用して書き込むには、ひとつのIDでやら無ければいけません
1つのIDってことは、書き込みが自由に行うことができるので
誰かが、たとえば3/3に予約を入れていても、後から見た人が、この予約を消してしまって、自分の予約に書き直してしまうことができるからです。
その為、予約のシステムにはなんら使えません。

カレンダーで予約システム作るなら、テンプレートがありますから
それを使ったほうが賢いです。

Q海外で配布のスプリクトを日本語対応にしたい

海外のHPで配布されているPHPスプリクト(掲示板スプリクト)を自分のHPで使用したいのですが、日本語で投稿した場合、記事のところどころが文字化けしてしまいます。
どうにか投稿した記事の日本語を完全に表示できるようにしたいのですが、やり方を教えていただきたく投稿しました。

どうぞよろしくお願いします。

Aベストアンサー

そのスクリプトがデータベースを使うタイプなのかtextに保存させるタイプなのかワカリマセンが

<?php
header ("Content-Type: text/html; charset=EUC-JP");
mb_internal_encoding("EUC-JP");
mb_http_output( "EUC-JP" );
mb_language("ja");

(中身)
?>
とかソースの最初に宣言しておけばいいんでないかな

あとは、必要に応じてmb_convert_encoding()使えば良いと思われます

あと、吐き出されるHTMLのhead部分を見てください
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
とか日本語以外の文字指定されてませんか?


人気Q&Aランキング

おすすめ情報