初心者です。
以下2件と関連する質問です。
https://teratail.com/questions/39121
https://teratail.com/questions/39115
あるカラムから複数のレコードの値を取り出すとき、一行目のレコードだけ取り出せませんでした。
下記のcalendartblというテーブルからカレンダーテンプレートへ配列としてすべてのレコードを取得できております。
テーブル:calendartbl
【仕様】
```CREATE TABLE calendartbl
(
holiday
date NOT NULL DEFAULT '0000-00-00' COMMENT '休日年月日',
is_deleted
char(1) NOT NULL COMMENT '削除フラグ(y, n)',
PRIMARY KEY (holiday
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='休日';
【カラム内容詳細】 holiday(カラム名) 2016/9/12(レコード1行目) 2016/9/14(レコード2行目) 2016/9/20(レコード3行目) 2016/9/26(レコード4行目) 2016/9/28(レコード5行目) しかし、下記のカレンダーのテンプレートには2016/9/12(レコード1行目)のみ色の処理が行われませんでした。
while (checkdate($m, $d, $y)) { // 日曜:赤色 if(date("w", mktime(0, 0, 0, $m, $d, $y)) == 0){ echo "<td class='sun'>$d</td>"; } // 土日祝以外:色変化なし // 指定日:赤色 else { if(array_search(sprintf("%4d-%02d-%02d",$y,$m,$d), $holiday)){ echo "<td class='sun'>$d</td>"; } else { echo "<td class='date'>$d</td>"; } } // 週の始まりと終わりでタグを出力 if (date("w", mktime(0, 0, 0, $m, $d, $y)) == 6){ // 週を終了 echo "</tr>"; // 次の週がある場合は新たな行を準備 if (checkdate($m, $d + 1, $y)) { echo "<tr>"; } } $d++; }
配列は以下の通りです。
array(6) { [0]=>
string(10) "2016-09-12"
[1]=>
string(10) "2016-09-14"
[2]=>
string(10) "2016-09-20"
[3]=>
string(10) "2016-09-26"
[4]=>
string(10) "2016-09-28"
}
SELECTした結果に関しては次の通りです。
SELECT calendartbl.holiday FROM calendartbl WHERE calendartbl.is_deleted = 'n' AND calendartbl.holiday >= '2016-09-01' AND calendartbl.holiday <= '2016-09-31'
よろしくお願い致します。 この場合、どう修正すればよいでしょうか。もしくはコード以外にも考えられる原因がありますでしょうか。 どなたか教えて頂けたら幸いです。 よろしくお願い致します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/28 06:40
2016/06/28 06:50
2016/06/28 07:05
2016/06/28 07:09
2016/06/28 07:19
2016/06/28 07:29
2016/06/28 07:36