私は、ユーザーがログオンできる小さな php Web サイトを作成しています。機能の 1 つは、ユーザーが互いにメッセージを投稿できるようにすることです。メッセージの表は次のとおりです。
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 フィールドを使用してメッセージ テーブルにユーザーへのメッセージを記録します。read は、既読かどうかを示す 1 または 0 のいずれかです。カウントステートメントは次SELECT COUNT(*) AS occurrences FROM messages WHERE mRead=0 and mReciever=$aId
のとおりです。作成者のログオン 1 は、select * from authors
ユーザーとパスワードが一致する単純なものです。