게시글 전체를 셔플할 수 있는 방법을 알고 싶습니다.
본문
팁자료실에 올라온 방법은
이 방법이 있는데요..
위 방법은 게시글은 랜덤으로 나오나 페이지가 넘어갈 때에도 다시 랜덤함수를 이용하기 때문에 리스트가 중복되는 경우가 있습니다. 중복되지 않고 전체 게시글을 셔플(혹은 랜덤)할 수 있는 질문글은 많은데 답변은 명확하지 않아서 다시 질문해봅니다~
다른 분들의 질문에 답변주신 분들중 가장 염려하시는 부분은 게시글의 숫자가 많아질 경우 셔플(랜덤)하는 쿼리가 너무 많이 발생하기 때문에 부하가 생길 것이라는 점인데요.
게시글 100개 정도 셔플(랜덤)하는 것은 크게 무리가 가지 않을 것 같아 시도해보려고 합니다.
변변찮은 지식으로 이것저것 뜯어보니
list.skin.php에서 $i값을 셔플하는 방법이 가능할꺼라 생각했는데 이때는 이미 정렬된 $i값을 받아서 그런지 각각의 페이지에서만 적용되고 전체가 셔플되지는 않더군요..
결국 그누 원본을 손봐야 하는 문제인 것 같은데 그 다음부터는 제 머리의 한계가 옵니다. ㅎㅎ
현재는 당장 급하게 써야 하는 부분이라 무식하게도 한페이지당 목록수를 100개로 잡고 셔플시켜서 쓰고 있습니다 . ㅡ,ㅡㅋ
그나마 리스트가 한줄씩이라 괜찮았는데 썸네일을 함께 쓰려고 하니 스크롤압박이 대단하네요 ㅎㅎ
혹시 이 부분 해결은 어떻게 해야 하는지 고수님들의 도움좀 부탁드립니다.
의뢰 게시판에 글을 남기려다 의뢰 수준이 되지 않을 것 같아 일단 질게에 남겨봅니다.
혹시 의뢰를 원하시면 쪽지 날려주시면 연락드리겠습니다.
답변 2
셔플의 경우에는 특정화된 식에 따라서 불러오지 않기 때문에 결과값을 세션에 저장해서 다시 불러오는게 좋을 것 같네요...
꼼수로~
게시글의 레코드 값에 필드를 하나 추가해서
그 필드에 임의의 숫자를 랜덤으로 집어 넣는 것입니다.
그리고 그 번호를 기준으로 불러오면 되겠죠.
섞을 때는 그 번호를 다시 랜덤하게 집어넣으면 되겠죠?