回答編集履歴

2

見直し

2020/02/19 02:38

投稿

退会済みユーザー
test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  $stmh->execute();
40
40
 
41
- }catch(PDOException $Exception){
41
+ }catch(PDOException $e){
42
42
 
43
- die('接続エラー:' .$Exception->getMessage());
43
+ die('接続エラー:' .$e->getMessage());
44
44
 
45
45
  }
46
46
 
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- 並べ替えは、ORDER BY句を加えることで実現できるので、
73
+ 並べ替えは、SELECT文にORDER BY句を加えることで実現できるので、
74
74
 
75
75
  PHP上で並べ替えはしなくていい。
76
76
 

1

加筆修正

2020/02/19 02:38

投稿

退会済みユーザー
test CHANGED
@@ -45,3 +45,43 @@
45
45
  }
46
46
 
47
47
  ```
48
+
49
+
50
+
51
+ ---
52
+
53
+
54
+
55
+ あと、データベース的なお節介。
56
+
57
+
58
+
59
+ テーブル名に年を持たせているけど、年が変わると構造も変わるのだろうか、変わらないよねぇ。
60
+
61
+ それに、一つの日付にToDoが5件まで記録できる想定だけど、5件以上記録したい場合に詰む構造なので、
62
+
63
+ テーブルの構造としては、単に
64
+
65
+ 「識別用ID、日付(DATE型)、時刻(をTIME型もしくはその日の優先度をINTで)、ToDoタイトル、メモ」っていうだけにして、
66
+
67
+ クエリーで日付順、時刻(もしくはその日の優先度を数字で)順でSELECTすれば、
68
+
69
+ 一つの日付に5件以上記録することも更新も可能。
70
+
71
+
72
+
73
+ 並べ替えは、ORDER BY句を加えることで実現できるので、
74
+
75
+ PHP上で並べ替えはしなくていい。
76
+
77
+
78
+
79
+ 全く出力していないときはとりあえず<tr>
80
+
81
+ 日付を別途変数に取っといて、
82
+
83
+ 次の出力のときに直前の日付と比較、
84
+
85
+ もしも日付が変わっていたら</tr><tr>を出力して行を分けて出力する、
86
+
87
+ という繰り返しで実現できるはず。