0

Given the following table, how can write a MySQL query to display threaded comments in a single page?

Table structure:

  • comment_id
  • comment_parent
  • comment_content

Thank you.

1

3 Answers 3

3

It will work!

http://www.jongales.com/blog/2009/01/27/php-class-for-threaded-comments/

Sign up to request clarification or add additional context in comments.

Comments

0
Select comment_content from table where comment_parent != 0;

Then use PHP to display the results however you want.

2 Comments

Your question still isn't clear. I think what you mean to ask is how do you display threaded comments with PHP. The query to get all the comments will just be 'Select * from table'. Then you will need to write some PHP to display the comments in the correct order. So basically what you want to do is go through all the parent comments and if a comment has children go through and print those under the parent comment. If you allow for multilevel threading then it's somewhat more complicated.
I made a recursive function and everything is ok now.
0

Depending on how deep you want to go ... but here is a 1-thread example to do with 1 query

SELECT * FROM `comment` a LEFT JOIN `comment` b ON a.comment_id = b.comment_id WHERE a.comment_parent = 0 

then use php to select wether the parent comment changes and display that.

but it would likely be better to do this over multiple queries for speed. you would need to do some benchmarks to be sure

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.