やりたいこと
こちらのカレンダーにフォームで入力したデータを出力したいです。
当日のデータは表示することができたのですが、当日以外のデータを出力することができません。
当日以外のデータの表示方法を知りたいです。
##ソースコード
###カレンダー
//カレンダー //現在時刻 date_default_timezone_set('Asia/Tokyo'); $year = date('Y'); $month = date('m'); //月末日を取得 $end_month = date('t', strtotime($year . $month . '01')); //一日の曜日を取得 $first_week = date('w', strtotime($year . $month . '01')); //月末の曜日を取得 $last_week = date('w', strtotime($year . $month . $end_month)); $calender = []; $j = 0; //一日開始曜日までの穴埋め for ($i = 0; $i < $first_week; $i++) { $calender[$j][] = ''; } //一日から月末日までループ for ($i = 1; $i <= $end_month; $i++) { if (isset($calender[$j]) && count($calender[$j]) === 7) { $j++; } $calender[$j][] = $i; } //月末の曜日の穴埋め for ($i = count($calender[$j]); $i < 7; $i++) { $calender[$j][] = ''; } $aryweek = ['日', '月', '火', '水', '木', '金', '土'];
<table border="1"> <tr> <?php foreach ($aryweek as $week) { ?> <th> <?php echo $week ?> </th> <?php } ?> </tr> <?php foreach ($calender as $tr) { ?> <tr> <?php foreach ($tr as $td) { ?> <?php if ($td != date('j')) { ?> <td> <?php echo $td ?> </td> <?php } else { ?> <td class="today"> <?php echo $td; ?> <?php if($_SESSION['judge']==="able"){ echo $able; }elseif ($_SESSION['judge'] === "wrong"){ echo $wrong; } ?> </td> <?php } ?> <?php } ?> </tr> <?php } ?> </table>
###表示したいデータ
//ログイン者のdata(ableかwrong)を取得 $judges=$db->prepare('SELECT data,created FROM posts WHERE member_id=?'); $judges->execute(array($_SESSION['id'])); $judge=$judges->fetchAll(PDO::FETCH_ASSOC);
###データを文字列
//写真の表示 if($judge){ //我慢できた時 if ($_SESSION['judge'] === 'able') { $image = "image_folder/smile.png"; //$_SESSION['judge']を文字列=>〇にする $able=$_SESSION['judge']; $able="〇"; } //我慢できなかった時 elseif ($_SESSION['judge'] === 'wrong') { $image = "image_folder/oni.png"; //$_SESSION['judge']を文字列=>✕にする $wrong=$_SESSION['judge']; $wrong="✕"; } }
<?php if($_SESSION['judge']==="able"){ echo $able; }elseif ($_SESSION['judge'] === "wrong"){ echo $wrong; } ?>
###試したこと
データを入力した日付の全てのデータを変数に格納してforeachで回している箇所に出力した結果写真のようになりました
よろしくお願いします。
あなたの回答
tips
プレビュー