デジタル百葉箱製作覚え書き

ラズベリーパイで教材づくり IOT百葉箱

htmlプログラミング~pastdata21.phpのメモ

おー

ラズパイのapacheのphpについて。
pastdata21.php のこの部分についてメモ。


<p>

<form action="" name="form1" method="get">

<select name="year" id="id_year">

</select>年 

<select name="month" id="id_month">

</select>月 

<select name="day" id="id_day">

</select>日 

<script>

(function() {

'use strict';

/*

今日の日付データを変数todayに格納

*/

var optionLoop, this_day, this_month, this_year, today;

today = new Date();

this_year = today.getFullYear();

this_month = today.getMonth() + 1;

this_day = today.getDate();


/*

ループ処理(スタート数字、終了数字、表示id名、デフォルト数字)

*/

optionLoop = function(start, end, id, this_day) {

var i, opt;


opt = null;

for (i = start; i <= end ; i++) {

if (i === this_day) {

opt += "<option value='" + i + "' selected>" + i + "</option>";

} else {

opt += "<option value='" + i + "'>" + i + "</option>";

}

}

return document.getElementById(id).innerHTML = opt;

};


/*

関数設定(スタート数字[必須]、終了数字[必須]、表示id名[省略可能]、デフォルト数字[省略可能])

*/

optionLoop(2019, this_year, 'id_year', this_year);

optionLoop(1, 12, 'id_month', this_month);

optionLoop(1, 31, 'id_day', this_day);

})();

</script>

のデータを表示

<input type="submit" value="送信">

<br></p>

いきなりselectタグからです。後でいろいろいじったので、わかりにくくてすいません。
初期設定を、「今日」にしたいので、today関数から取り込んでます。
そして、年月日それぞれを、それぞれの範囲で、月は12まで、日にちは31までloopさせてます。初期設定の「年」は、2019にしてますが、これから作る人は2020でいいですね。
で、最後に「送信」ボタン。


いろんなサイトを参考に、コピペしてこのスクリプトはできました。
たぶん、詳しい人はもっと効率よく、可読性に優れたスクリプトを書くんでしょうけど、わたしにはこれが限界です。
この部分、PHP関係なかったですね。(-_-;)


「送信」ボタンを押した後、ドロップダウンリストが「今日」ではなく、「送信」した日のままになってほしいのだけど、どうやればいいのかわからない。


「前日」「翌日」ボタンも欲しいかな。「前日」が前月だったり、「翌日」が翌月だったりする際の「月」が変わるときの処理の仕方がわからない。


人生わからないことだらけです。

データはここです。