랜덤 최근글 뽑기 질문!!! 정보
그누보드 랜덤 최근글 뽑기 질문!!!
본문
latest.skin.php 파일에서
<? srand((double)microtime()*1000000); ?>
<? for($j=0; $j<count($list); $j++) {?>
<? $i= rand(1, count($list)-1);?>
<tr>
<td>$list[$i][subject]</td>
</tr>
<?}?>
위처럼 하면 count($list)만큼 게시판 제목이 랜덤하게 출력되는데
문제는 만약 count($list) = 5와 같다고 가정한다면 제목이 5개가 랜덤하게 출력되는데 중복되는 글이 있을수 있다는 겁니다.
즉, rand() 가 1이 되었다가 다시 루프 돌아서 다시 1이 된다면 게시물이 중복되는 데이터가 들어갈 수 있다는 건데
중복되는 데이터 없이 랜덤하게 count($list) 갯수만큼 게시물을 뽑을 수 있는 방법은 없을까요?
번뜩이는 아이디어좀 내주세요 ^^
<? srand((double)microtime()*1000000); ?>
<? for($j=0; $j<count($list); $j++) {?>
<? $i= rand(1, count($list)-1);?>
<tr>
<td>$list[$i][subject]</td>
</tr>
<?}?>
위처럼 하면 count($list)만큼 게시판 제목이 랜덤하게 출력되는데
문제는 만약 count($list) = 5와 같다고 가정한다면 제목이 5개가 랜덤하게 출력되는데 중복되는 글이 있을수 있다는 겁니다.
즉, rand() 가 1이 되었다가 다시 루프 돌아서 다시 1이 된다면 게시물이 중복되는 데이터가 들어갈 수 있다는 건데
중복되는 데이터 없이 랜덤하게 count($list) 갯수만큼 게시물을 뽑을 수 있는 방법은 없을까요?
번뜩이는 아이디어좀 내주세요 ^^
댓글 전체
간단한 예문입니다.
0,9까지 정수를 arr배열에 넣은다음 섞어버리면 중복되지 않겠죠.
9대신에 count($list)를 적어주면 되겠네요.
<?
$arr = range(0, 9); // 0~9의 정수값을 갖는 배열 생성
shuffle($arr); // 순서를 무작위로 섞는다
for($i=0;$i<10;$i++) echo $arr[$i];
?>
즐거운 하루되세요.
0,9까지 정수를 arr배열에 넣은다음 섞어버리면 중복되지 않겠죠.
9대신에 count($list)를 적어주면 되겠네요.
<?
$arr = range(0, 9); // 0~9의 정수값을 갖는 배열 생성
shuffle($arr); // 순서를 무작위로 섞는다
for($i=0;$i<10;$i++) echo $arr[$i];
?>
즐거운 하루되세요.