이 게시판에 버그가 있나봐요
게시물 작성도중에 새로고침이 여러번 되더니 이렇게 되어버렸네요
하여간 다시 질문드립니다.
seq(ai) | parent_seq(fk)| depth | sort_str
--------------------------------------------------
1 | 0 | 0 | 1.
--------------------------------------------------
2 | 1 | 1 | 1 - 1
--------------------------------------------------
3 | 0 | 0 | 2.
--------------------------------------------------
4 | 3 | 1 | 2 - 1
--------------------------------------------------
5 | 4 | 2 | 2 - 1 - 1
--------------------------------------------------
6 | 3 | 1 | 2 - 2
--------------------------------------------------
과 같이 입력되어져 있을때 limit를 하는 문제입니다.
부모 자식 관계가 있으므로 페이징을 할때
x개로 한정지을수 없고
무모(depth 가 0인것)의 갯수는 한정짓되 그의 자식은 전부 가져오는 쿼리문을 원합니다.
예를들어 이런 쿼리를 한방에 만들수 있는 쿼리가 필요합니다.
$query = "select * from table where depth = 0";
$count = 0;
while ($data = sql($query)) {
$query2 = "select count(*) from where sort_str like concat('".$data['sort_str']."', '%')": // sort_str은 depth가 0일때만 뒤에 .이 붙으므로 제거해주어야 한다
$count += $data2['count'];
}
$query3 = "select * from table limit 0, $count"l
이런 형태여야 할것 같은데
무모갯수의 limit를 통하여 해당하는 자식까지 한번에 가져올수 없을까요?
5.0 innodb 사용중입니다. |