我有一个问题,我试图解决好几天而无法解决这个问题。如果您有任何想法或提示,请帮助我。 我试图在我的网站上发布消息服务。有一个产品,用户可以在它下面发短信。最多将有2个用户。不像评论行。这是我制作的数据库方案。
ps:
$ user1; 登录网站的人
$ user2; 发布产品的人
$ id; 发布商品的ID
>CREATE TABLE `conversation`
c_id int(11)
product_id int(11) DEFAULT NULL
user_one int(11) NOT NULL
user_two int(11) NOT NULL
time int(11) DEFAULT NULL
PRIMARY KEY (`c_id`),
KEY `user_one`(`user_one`),
KEY `user_two` (`user_two`),
KEY `product_id`(`product_id`)
CREATE TABLE `conversation_reply`
`cr_id` int(11) NOT NULL AUTO_INCREMENT,
`reply` text COLLATE utf8_unicode_ci,
`user_id_fk` int(11) NOT NULL,
`time` int(11) DEFAULT NULL
`c_id_fk` int(11) NOT NULL,
PRIMARY KEY (`cr_id`),
KEY `user_id_fk` (`user_id_fk`)
KEY `c_id_fk`(`c_id_fk`)
'CREATE TABLE `post`
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`subject` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`user_post` varchar(300) COLLATE utf8_unicode_ci NOT NULL
`time_added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`type` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`product_img` longtext COLLATE utf8_unicode_ci NOT NULL,PRIMARY KEY (`id`)
在对话表中 product_id 引用了 ID
user_id_fk 引用 id
c_id 在 conversation_reply 表中 c_id_fk 引用
这是我试图做的查询。但是它没有正常工作。
SELECT U.id,C.c_id,U.username,R.reply
FROM member U,conversation C, conversation_reply R,post P
WHERE
CASE
WHEN C.user_one = '$user1' THEN C.user_two = U.id
WHEN C.user_two = '$user2' THEN C.user_one= U.id
END
AND
C.c_id=R.c_id_fk
AND
(C.user_one ='$user1' OR C.user_two ='$user2')
AND C.product_id='$id' ORDER BY C.c_id DESC