質問編集履歴

4

送信メッセージの取得を、送受信と修正

2019/12/06 04:06

投稿

dydo
dydo

スコア8

test CHANGED
File without changes
test CHANGED
@@ -140,9 +140,11 @@
140
140
 
141
141
  user_id = 「aaa」さんと友達の一覧を表示し、各々の登録情報と、最新メッセージを取得、メッセージの新しい順に並べ替えようとしています。
142
142
 
143
+ 友達とのやり取りで、自分が送信したメッセージと、自分が受信したメッセージの両方から最新のメッセージを取得したいです。
143
144
 
144
145
 
146
+
145
- ユーザー情報のすべて+unread(未読数)+最新メッセージの送信日としたいところが、
147
+ ユーザー情報のすべて+unread(未読数)+最新メッセージの送信日としたいところが、
146
148
 
147
149
  最新メッセージの取得がうまくいかず、古いものが表示されてしまっています。
148
150
 

3

insert文修正

2019/12/06 04:06

投稿

dydo
dydo

スコア8

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,11 @@
68
68
 
69
69
  ('aaa', 'ccc'),
70
70
 
71
+ ('ccc', 'aaa'),
72
+
71
- ('aaa', 'ddd')
73
+ ('aaa', 'ddd'),
74
+
75
+ ('ddd', 'aaa'),
72
76
 
73
77
 
74
78
 

2

重複した行があったので削除しました。

2019/12/06 02:36

投稿

dydo
dydo

スコア8

test CHANGED
File without changes
test CHANGED
@@ -13,8 +13,6 @@
13
13
 
14
14
 
15
15
  A)userテーブル(登録ユーザーの情報
16
-
17
- A)usersテーブル
18
16
 
19
17
 
20
18
 
@@ -48,8 +46,6 @@
48
46
 
49
47
  B) f_relationテーブル(友達関係)
50
48
 
51
- B)f_relationテーブル
52
-
53
49
 
54
50
 
55
51
  create table f_relation(
@@ -78,7 +74,9 @@
78
74
 
79
75
  C) talkテーブル(会話内容)
80
76
 
77
+
78
+
81
- C)create table talk(
79
+ create table talk(
82
80
 
83
81
  id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
84
82
 

1

指摘があったので、テーブルをテキストで記載しました。確かにこの方が格段にわかりやすいと思います。よろしくおねがいします。

2019/12/06 02:31

投稿

dydo
dydo

スコア8

test CHANGED
File without changes
test CHANGED
@@ -14,19 +14,103 @@
14
14
 
15
15
  A)userテーブル(登録ユーザーの情報
16
16
 
17
+ A)usersテーブル
18
+
19
+
20
+
21
+ create table users(
22
+
23
+ no int AUTO_INCREMENT NOT NULL PRIMARY KEY,
24
+
25
+ id text,
26
+
27
+ name text(20),
28
+
29
+ icon text(255),
30
+
31
+ password text(30)
32
+
33
+ );
34
+
35
+
36
+
37
+ INSERT INTO users (id, name, icon, password) VALUES
38
+
39
+ ('aaa', '田中', 'icon.jpg', 'xxx'),
40
+
41
+ ('bbb', '佐藤', 'icon.jpg', 'xxx'),
42
+
43
+ ('ccc', '斎藤', 'icon.jpg', 'xxx'),
44
+
17
- ![A)userテーブル(登録ユーザーの情報)](691e1335e3059e210122386bf5e99684.png)
45
+ ('ddd', '山田', 'icon.jpg', 'xxx')
18
46
 
19
47
 
20
48
 
21
49
  B) f_relationテーブル(友達関係)
22
50
 
51
+ B)f_relationテーブル
52
+
53
+
54
+
55
+ create table f_relation(
56
+
57
+ id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
58
+
59
+ user_id text,
60
+
61
+ friend_id text(20)
62
+
63
+ )
64
+
65
+
66
+
23
- ![B) f_relationテーブル(友達関係)](59d5de84392d0f62c0ce878fa12f3c49.png)
67
+ INSERT INTO f_relation (user_id, friend_id) VALUES
68
+
69
+ ('aaa', 'bbb'),
70
+
71
+ ('bbb', 'aaa'),
72
+
73
+ ('aaa', 'ccc'),
74
+
75
+ ('aaa', 'ddd')
24
76
 
25
77
 
26
78
 
27
79
  C) talkテーブル(会話内容)
28
80
 
81
+ C)create table talk(
82
+
83
+ id int AUTO_INCREMENT NOT NULL PRIMARY KEY,
84
+
85
+ message text,
86
+
87
+ sender text,
88
+
89
+ receiver text,
90
+
91
+ timestamp timestamp,
92
+
93
+ read_flg int
94
+
95
+ )
96
+
97
+
98
+
29
- ![C) talkテーブル(会話内容)](bcc113afa1270dfbb951e43b84d81422.png)
99
+ INSERT INTO talk (message, sender, receiver, timestamp, read_flg) VALUES
100
+
101
+ ('古いメッセージ', 'bbb', 'aaa', '2019-12-05 10:35:21', 1),
102
+
103
+ ('新しいメッセージ', 'bbb', 'aaa', '2019-12-06 10:35:21', 1),
104
+
105
+ ('古いメッセージ', 'ccc', 'aaa', '2019-12-05 11:30:21', 0),
106
+
107
+ ('新しいメッセージ', 'aaa', 'ccc', '2019-12-06 9:35:21', 1),
108
+
109
+ ('古いメッセージ', 'ddd', 'aaa', '2019-12-04 8:35:21', 1),
110
+
111
+ ('新しいメッセージ', 'ddd', 'aaa', '2019-12-05 10:30:20', 0)
112
+
113
+
30
114
 
31
115
 
32
116
 
@@ -46,7 +130,7 @@
46
130
 
47
131
  order by MAX(timestamp) DESC
48
132
 
49
- ![イメージ説明](4baeb46e1bc86445076da8b2b0af7e08.png)
133
+ ![イメージ説明](73f81545e1cdd3eceaf2aa8b1cc51a56.png)
50
134
 
51
135
 
52
136