2009-11-21 5 views
0

다음 표에서 주어진 스레드 주석을 단일 페이지에 표시하기 위해 MySQL 쿼리를 작성하는 방법은 무엇입니까?MySQL 및 PHP로 스레드 된 주석 표시

테이블 구조 :

  • comment_id
  • comment_parent

감사합니다

  • COMMENT_CONTENT.

  • +1

    참조 http://stackoverflow.com/questions/597882/how-do-i-implement-threaded-comments, http://stackoverflow.com/questions/1442993/how-to-build -threaded-comments-with-1-or-2-queries, http://stackoverflow.com/questions/1260878/mysql-structure-for-comments-and-comment-replies –

    답변

    0
    Select comment_content from table where comment_parent != 0; 
    

    그런 다음 PHP를 사용하여 원하는 결과를 표시하십시오. 여기

    +0

    죄송합니다. 제 질문을 수정했습니다. – Psyche

    +0

    귀하의 질문은 아직 명확하지 않습니다. 여러분이 묻는 것은 PHP로 스레드 된 주석을 어떻게 표시 할 것인가입니다. 모든 코멘트를 얻기위한 쿼리는 'Select * from table'일뿐입니다. 그런 다음 주석을 올바른 순서로 표시하려면 PHP를 작성해야합니다. 그래서 기본적으로 당신이하고 싶은 것은 모든 부모 코멘트를 거치며, 코멘트에 자녀가있는 경우 부모 코멘트 아래의 코멘트를 인쇄합니다. 다단계 스레딩을 허용하면 다소 복잡합니다. – Jonathan

    +1

    나는 재귀 함수를 만들었고 모든 것이 이제 괜찮다. – Psyche

    0
    가고 싶어 얼마나 깊이에 따라

    ...하지만 1 개 쿼리 다음

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

    부모 주석 변경 어떠했는지를 선택하고 해당를 표시하는 PHP를 사용하여 할 수있는 일 스레드 예이다.

    하지만 속도를 높이기 위해 여러 쿼리에서이 방법을 사용하는 것이 좋습니다. 당신은 확실하게 몇 가지 벤치 마크를해야 할 것입니다

    관련 문제