昨日のやつ、次の月や前の月に移動ボタンを付けるとしたらどういう風になるだろう?
セッションで現在ページの年、月を持っていく必要がありそう
formでとばすボタンをつけてnext,backみたいにして、getで飛ばす?
それはjsでやるのか?
リクワイアーしてページを再表示するんだろうな。おそらく。
すなわち
http://localhost/php/makino/calendar_%E5%85%88%E7%94%9F%E3%81%AE/?y=2020&m=4
が表示できればいいわけだ。
これは牧野先生に尋ねるといいと思う
これで分かった!10分でほとんど理解できる「CSSグリッド」の基礎
CSS Grid Layout を極める!(基礎編)
php工房
何をやってもalert_commentが1しか出なかった問題
小崎先生に突き止めてもらった
原因はシンプルだが突き止め方が分からなかった
①DBにはちゃんと入っている
②出力がされない
③そういうときは、まず$rowの中身を全だしする
<pre>
<?php print_r($row); ?>
</pre>
<pre>で囲むと内容が改行されて表示される
これがないと全部横並びになるらしい
④SELECT文はアスタリスクにして全部もってこさせる
$sql="SELECT * FROM alerts,users WHERE users.u_id=alerts.u_id AND u_name=:u_name ORDER BY alert_time DESC";
⑤ここを見るとアスタリスクにしたらちゃんと来ているのがわかる
⑥ここまできたら犯人はSELECT文が濃厚
ここのカンマがなかった
こうやって犯人を絞り込んでいくんですね。
1.$rowの中身を全部<pre>print_rで吐き出す
2.SELECTを*にして全部出させる
3.ちゃんと内容があったら、それはSELECTの指定がおかしいのが疑われる
このソースを残しておく
<?php
session_start();
require_once("config.php");
//$sql="SELECT tweets.u_id AS u,nickname,tweet,created,likes,t_id FROM tweets,users WHERE tweets.u_id=users.u_id ORDER BY t_id DESC";
$sql="SELECT u_name,u_icon,u_timezone,alert_time,timezone_id,alert_level,alert_public,alert_kind,alert_comment FROM alerts,users WHERE users.u_id=alerts.u_id AND u_name=:u_name ORDER BY alert_time DESC";
//$sql="SELECT * FROM alerts,users WHERE users.u_id=alerts.u_id AND u_name=:u_name ORDER BY alert_time DESC";
$stmt=$pdo->prepare($sql);
$stmt->bindValue(":u_name",$_SESSION["u_name"],PDO::PARAM_STR);
$stmt->execute();
//$res=$pdo->query($sql);
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Alert Lines</title>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/style.css">
<link href="https://fonts.googleapis.com/css?family=Oxanium:500,700&display=swap" rel="stylesheet">
<script src="../jquery-3.4.1.min.js"></script>
</head>
<body>
<div id="container">
<h1>My Alert Lines</h1>
<!--ツイートの数だけwhileで繰り返す-->
<?php while($row = $stmt->fetch(PDO::FETCH_ASSOC)): ?>
<!--articleのくくりが1件のツイートに相当-->
<article>
<pre>
<?php print_r($row); ?>
</pre>
<header>
<!--<img src="css/<?php echo htmlspecialchars($row["u"],ENT_QUOTES); ?>.png">-->
<?php echo htmlspecialchars($row["u_name"],ENT_QUOTES); ?>
</header>
<p><?php echo htmlspecialchars($row["alert_comment"],ENT_QUOTES); ?></p>
<div>
<?php echo $row["alert_time"]; ?>
</div>
</article>
<?php endwhile; ?>
</div>
</body>
</html>
どんどんエラーがでて賢くなる
else ifじゃなくて
elseif
現在時刻を取ってくるのはどうすんだろう
→
めっちゃ昨日のdate関数だー
ブロック1:24時間以内のが上にでる
ブロック2:おわったのはでないで、のこっているもののうち昇順で出る
タイムゾーンの時差を鑑みて表示
さらにセットするときに「一日後」「何時間後」とかがあるのでは