我正在制作一个允许用户登录的小型 php 网站,其中一个功能是它允许他们互相发布消息。消息表描述如下:
msgId int(20) NO PRI NULL auto_increment
mSender int(20) NO MUL NULL
mReciever int(20) NO MUL NULL
mTitle tinytext NO NULL
mBody mediumtext NO NULL
mRead tinyint(4) NO NULL
mDate datetime NO NULL
当用户登录时,他们将根据存储在此表中的详细信息进行身份验证:
aId int(20) NO PRI NULL auto_increment
aUser varchar(30) NO UNI NULL
aPass varchar(40) NO NULL
aEmail varchar(30) NO UNI NULL
aBio mediumtext YES NULL
aReg datetime NO NULL
我使用select
语句将结果集与用户提供的凭据进行比较,如果经过身份验证,我想在header.php
文件中显示一些状态,例如有多少消息(如果有),我能够做到这一点的唯一方法是通过在messages
表上单独选择计数。
是否有一种方法可以将两者结合起来,以便匹配用户凭据,但还会显示未读消息的数量。我使用 mReciever 字段在消息表中为用户记录消息,读取可以是 1 或 0 表示已读或未读。计数语句是:SELECT COUNT(*) AS occurrences FROM messages WHERE mRead=0 and mReciever=$aId
作者登录是一个简单的select * from authors
用户和密码匹配的地方。