PHPのカレンダーに曜日をつけられづに困っています。
<?php
// 日付
if (!isset($hiduke)) {
$hiduke = date("Y-m-d");
}
if (!isset($yyyy)) {
$yyyy = date("Y", strtotime($hiduke));
}
if (!isset($mm)) {
$mm = date("m", strtotime($hiduke));
}
if (!isset($dd)) {
$dd = date("d", strtotime($hiduke));
}
// 表示ページ
if (isset($_GET["act"])) {
$act = $_GET["act"];
}
if (!isset($act)) {
$act = "";
}
// =================================================
// 処理開始
?>
<?php conndb();?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>予約システム</title>
</head>
<body>
<h2>予約システム</h2>
<?php
// -- ページ内容の表示
switch ($act) {
case "upd": // 更新
gamen_upd();
break;
case "updconf": // 更新確認
gamen_updconf();
break;
case "delconf": // 削除確認
gamen_delconf();
break;
case "det": // 詳細表示
gamen_detail();
break;
default:
gamen_iti();
}
?>
</body>
</html>
<?php closedb(); ?>
<?php
// =================================================
// ----- 一覧表示画面
function gamen_iti() {
global $conn;
global $hiduke;
global $yyyy; //年
global $mm; //月
$array = cnv_formstr($_POST);
extract($array, EXTR_SKIP);
if (isset($kbn)) {
if ($kbn == "upd" or $kbn == "del") {
update_yoyaku($kbn);
}
}
$sql = "SELECT * FROM jikan ORDER BY timeid";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
<table border="1">
<tr>
<td><?php setmonth(); ?></td>
<td><input type="submit" name="sub" value="予約表示"></td>
</tr>
</table>
<input type="hidden" name="act" value="iti">
<input type="hidden" name="kbn" value="go">
</form>
<p><?php echo date("Y 年 m 月 ", mktime(0, 0, 0, $mm, 1, $yyyy)) ?>予約一覧
<table border="1">
<tr bgcolor="#ffd700">
<td>日付</td>
<?php
// 時間表示
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$timeid = $row["timeid"];
$jikan = cnv_dispstr($row["jikan"]);
?>
<td><?php echo $jikan ?></td>
<?php } ?>
</tr>
<?php
//カレンダー
$lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy));
for ($i = 1; $i <= $lastd; $i++) {
?>
<tr>
<?php
$ts = mktime(0, 0, 0, $mm, $i, $yyyy);
$ymd = date("Y/m/d" ,$ts) ;
$ymdstr = strftime("%Y年%m月%d日(%a)", $ts);
?>
<td><?php echo $ymd ?></td>
<?php
<?php } ?>
</table>
<?php
}
// =================================================
// ----- 年月選択リスト表示
function setmonth() {
global $yyyy;
global $mm;
$array = cnv_formstr($_POST);
extract($array, EXTR_SKIP);
echo "<table><tr><td>";
// 年
echo "<select name=\"yyyy\">";
for ($i = 2008; $i <= 2025; $i++) {
echo "<option";
if ($i == $yyyy) {
echo " selected ";
}
echo ">$i";
}
echo "</select>年";
// 月
echo "<select name=\"mm\">";
for ($i = 1; $i <= 12; $i++) {
echo "<option";
if ($i == $mm) {
echo " selected ";
}
echo ">$i";
}
echo "</select>月";
echo "</td>";
echo "</tr></table>";
}
?>
と参考書を見ながら、作っています。
PHPはまったくの初心者です。カレンダーの日付に曜日をつけられづに困っています。コードを含め詳しくをしえてもらえると助かります。よろしくお願いします。
お礼
早速の回答ありがとうございます。 なるほど、そういうことでしたか。 今使っているこの本は10万部売れたらしく、アマゾンでも好評だったので買ったのですが、このとおりバグが多くて、正直私自身腸が煮えくり返っています。これでも第二版なんですよ…完全に騙されました。一応、この本は最後まで見てみますが、違う本を買った暁には破り捨てることにします。 ということで、またお世話になるかもしれません。 ありがとうございました!
補足
書き忘れましたが、お陰様でちゃんと動作しました。