2016-12-06 4 views
0

私は画像ブログを所有しています(9gagに似ています)、私はスレッドコメントシステムを設定したいと思います。私は行く方法が閉鎖テーブルを持っていることを理解し、私は1つを構築する。画像ブログ用のPHPのスレッドコメントシステム

私の質問は次のとおりです。コメントツリーを順番に取得するSQLクエリは何ですか(およびperfに影響を与える入れ子のSELECTクエリを避ける)?

コメント表:

image_id 
comment_id 
comment_text 
comment_date 
comment_parent_id 

Comments_tree表:すべての

ancestor 
descendant 
depth 
image_id 

答えて

1

まず、私は彼の表では、私はあなたが主キーとしてcomment_idを使うべきだと思う正しく正規化されていないと思います。

あなたの質問には、ツリーを印刷するためにPHPが難しいことはありません。

あなただけcomment_parent_idがnullのすべてを選択することができます。今の名前で、次のクエリは、単に親コメントのIDを使用するためにソート

SELECT comment_text FROM comments_table WHERE comment_parent_id IS NULL ORDER BY comment_date DESC; 

イスト:

あなたが使用することができます
SELECT comment_text FROM comments_table WHERE comment_parent_id = $parentCommentId ORDER BY comment_date DESC; 

をPHP変数$parentCommentIdは、親コメントのIDを保存します。

あなたはそれを正しく出力するだけです!

関連する問題