最近の体温
(snは表示しない sn:$sn)");
$con_string="dbname=kenon user=postgres";
$con = pg_connect($con_string);
if(!$con) {
print "Database : connection : error
\n";
print_r( error_get_last ( ));
exit;
}
/*今週のスタンプ
$res = pg_query($con, "SELECT * FROM stamp WHERE sn=$sn;");
if(!$res) {
print "SQL query : error
";
// print pg_last_error()."
\n";
print_r( error_get_last ( ));
// print "$php_errormsg
\n";
exit;
}
// print "\n\n";
*/
$res=pg_query($con,"SELECT * FROM 体調管理 WHERE sn=$sn ORDER BY 測定日時 DESC LIMIT 10;");
if(!$res) {
print "SQL query : error
";
// print pg_last_error()."
\n";
print_r( error_get_last ( ));
// print "$php_errormsg
\n";
exit;
}
$rows = pg_num_rows($res);
print "
\n";
print "検温日時 | 体温[℃] | 状 態 | 詳 細 |
\n";
for($i=0; $i<$rows;$i++){
$data=pg_fetch_array($res,$i);
$date=$data{'日時'};//測定日時,体温,体調,詳細
$temp=$data{'体温'};
$condx =$data{'体調'};
$dtls =$data{'詳細'};
print("$date | $temp | $condx | $dtls |
\n");
}
print "
\n";
echo"
\n";
//今月分のスタンプを作成
$ym=date("Y-m-");
$dn=date("n");
$d01=strtotime($ym. "01");
$sql=
"SELECT *, EXTRACT(DAY FROM 記録日時) AS dd, EXTRACT(HOUR FROM 記録日時) AS hh, EXTRACT(MINUTE FROM 記録日時) AS mm "
. "FROM 体温記録 "
. "WHERE sn=" . $sn
. "AND EXTRACT(DOY FROM 測定日時)=EXTRACT(DOY FROM 記録日時) "
. "AND EXTRACT(DOW FROM 測定日時) BETWEEN 1 AND 5 "
. "AND EXTRACT(MONTH FROM 記録日時)=" . $dn
. "ORDER BY 記録日時 ;";
$res = pg_query($con, $sql);
//echo $sql, "\
n";
if(!$res) {
print "SQL query : error
";
// print pg_last_error()."
\n";
print_r( error_get_last ( ));
// print "$php_errormsg
\n";
exit;
}
$rows = pg_num_rows($res);
// 第一週目は前半空欄かも?
//スタンプを初期化(空白)
$n=0;$day=1-date("w",$d01);
$stamp=array();
for($i=0;$i<35;$i++) { $stamp[$day+$i]="stamp0.png"; }
//入力時刻 → スタンプ
$time0=0; $time1=400; $time2=830; $time3=900; $time4=1030;
for($i=0;$i<$rows;$i++){
$d=pg_fetch_array($res,$i){'dd'};
$t=pg_fetch_array($res,$i){'hh'}.pg_fetch_array($res,$i){'mm'};// hhmmは整数化された
if (($time0 <= $t) && ($t<=$time1)) { $stamp[$d]="stamp0.png";;
} else if (($time1 <= $t) && ($t<=$time2)) { $stamp[$d]="stamp4.png";
} else if (($time2 <= $t) && ($t<=$time3)) { $stamp[$d]="stamp3.png";
} else if (($time2 <= $t) && ($t<=$time3)) { $stamp[$d]="stamp2.png";
} else if (($time3 <= $t) && ($t<=$time4)) { $stamp[$d]="stamp1.png";
} else { $stamp[$d]="stamp0.png";
}
}
//HTML生成
echo "令和",date("Y")-2018, date("(西暦Y)年n月"), "
\n";
echo "\n";
echo "";//日,月,..,土
for($i=0;$i<7;$i++){ echo "", $youbi[$i], " | ";}
echo "
\n";
$d=$day;
for($j=0;$j<5;$j++){ echo "";
for($i=0;$i<7;$i++){
if ((0<$d) & ($d<=$dlimit[$dn])){
echo "",$d, "
 | ";
} else {
echo "
| "; $d++;
}
}
echo "
\n";
}
echo "
\n";
pg_close($con);
?>