2012-05-09 11 views
-3

私はフォーラムを持っていて、2つのテーブルがあるとします.1つは投稿と呼ばれ、もう1つはユーザーです。誰かがサイトを訪問すると、テーブル投稿からのすべての投稿が呼び出されます。ユーザーを一時的に禁止していて、すべての投稿を非表示にしたい場合(またはこの場合複数のユーザーがいる場合)、フォーラムの投稿に電話をかけて投稿を表示できませんか?私は既にユーザーのテーブルにというテーブルを持っています。です。アクティブなのは禁止されているかどうかで1または0だけです。PHP - 特定の投稿を非表示にする方法を教えてください。

おかげ

答えて

-2

フラグである、あなたのテーブル内の別のフィールドを作成します。ショーは1、ショーは0と言ってください。あなたが誰かを禁止するときは、それをポストテーブルで実行し、すべての投稿を見つけてフラグを0に設定します。投稿を表示するには、mysql_queryのmysql_queryでselect * from table where where where field = 1を使用します。

+2

2つのテーブルからリンクできるときは、すべての投稿にフラグを設定するのはなぜですか: 'post.userID'から' users.active'?上記のコメントでrlemonが言ったこと。 – JakeParis

3

あなたの質問は非常にあいまいですが、次の表の構造を仮定:

table users 
    id username password active 
table posts 
    id userid  title  text  date 

私は、次のSQL文を使用します。

SELECT p.id, p.title, p.text, p.date FROM posts AS p INNER JOIN users AS u ON u.id = p.userid AND u.active = 1; 

は今、私は私がすべてのテストまでこれを設定するつもりはないごめんなさい.. SQL男じゃないとここにエラーがあるかもしれません。あなたが私の例からそれを理解することができない場合は、自由にコメントしてください。私たちはさらに調査することができます。 mysql JOIN構文でもっと読むことができます。here

編集:INNER JOINは正しいJOINを使用しています。

関連する問題