갤러리 최신글에서 랜덤하게 이미지를 뽑아볼수 없을까 -무작위,난수,이미지 정보
갤러리 최신글에서 랜덤하게 이미지를 뽑아볼수 없을까 -무작위,난수,이미지본문
1.팁만든 동기
; 홈피 메인에 사진이 매번 볼때마다 보았던거 계속 나오니 식상하네요. 그렇다고 새로운 사진 올릴것도 없고 랜덤하게 바꿔보자 그럼 지루하지 않으리.......
2.랜덤하게 이미지 뽑아보자
중복되지 않는 난수발생 함수로 해볼래다가 커리에서 무작위로 뽑는 방법이 없을까 php스쿨에서 찾아
보니 있더군요(역시 검색은 필수죠...^^)
/lib/latest.lib.php 에서
***********************************************************************
// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;
-------------중략------------------------
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
-------------중략------------------------
}
********************************** 이부분을 복사해서 random_latest함수를 추가함다
***********************************************************************
// 최신글 추출
function random_latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;
-------------중략------------------------
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by rand() limit $rows ";
-------------중략------------------------
}
*************************************************이렇게 수정합니다
오더바이 다음에 rand()가 왔지요
사용법은
echo random_latest("스킨명",게시판명, 레코드수, 제목길이);
따로 함수를 만들지 않고 $options변수를 활용해서 할라면 자기 구미에 맞게 뜯어고치면되겟죠
참고로 중복되지 않는 난수 발생 함수알아두세요
function random_no($lim, $start, $end) { //중복되지 않는 난수 구하기
//예) $random = random_no(5, 1, 10); //$lim:난수의 개수,$start:난수의 시작 범위,$end:난수의 끝 범위
$z=0;
$num = array();
for ($i=0;$i<$lim;$i++) {
srand((double)microtime()*1000000);
$tmp=rand($start,$end);
//루프가 1번이상 돌았을 경우 - num에 등록된 숫자가 있는경우
if ($i>=1) {
for ($j=0;$j<sizeof($num);$j++) {
//기존의 숫자와 같으면
if ($tmp==$num[$j]) {
$z++;
}
}
if ($z<1) {
$num[]=$tmp;
}
else if($z>=1) {
$z=0;
$i--;
}
}// if
else {
$num[0]=$tmp;
}
}
; 홈피 메인에 사진이 매번 볼때마다 보았던거 계속 나오니 식상하네요. 그렇다고 새로운 사진 올릴것도 없고 랜덤하게 바꿔보자 그럼 지루하지 않으리.......
2.랜덤하게 이미지 뽑아보자
중복되지 않는 난수발생 함수로 해볼래다가 커리에서 무작위로 뽑는 방법이 없을까 php스쿨에서 찾아
보니 있더군요(역시 검색은 필수죠...^^)
/lib/latest.lib.php 에서
***********************************************************************
// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;
-------------중략------------------------
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
-------------중략------------------------
}
********************************** 이부분을 복사해서 random_latest함수를 추가함다
***********************************************************************
// 최신글 추출
function random_latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;
-------------중략------------------------
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by rand() limit $rows ";
-------------중략------------------------
}
*************************************************이렇게 수정합니다
오더바이 다음에 rand()가 왔지요
사용법은
echo random_latest("스킨명",게시판명, 레코드수, 제목길이);
따로 함수를 만들지 않고 $options변수를 활용해서 할라면 자기 구미에 맞게 뜯어고치면되겟죠
참고로 중복되지 않는 난수 발생 함수알아두세요
function random_no($lim, $start, $end) { //중복되지 않는 난수 구하기
//예) $random = random_no(5, 1, 10); //$lim:난수의 개수,$start:난수의 시작 범위,$end:난수의 끝 범위
$z=0;
$num = array();
for ($i=0;$i<$lim;$i++) {
srand((double)microtime()*1000000);
$tmp=rand($start,$end);
//루프가 1번이상 돌았을 경우 - num에 등록된 숫자가 있는경우
if ($i>=1) {
for ($j=0;$j<sizeof($num);$j++) {
//기존의 숫자와 같으면
if ($tmp==$num[$j]) {
$z++;
}
}
if ($z<1) {
$num[]=$tmp;
}
else if($z>=1) {
$z=0;
$i--;
}
}// if
else {
$num[0]=$tmp;
}
}
추천
2
2
댓글 8개
스크랩해놨다 나중에 시간날때 꼭 적용해보겠습니다.
좋은 팁 알려주셔서 감사합니다. ^^
좋은 팁 알려주셔서 감사합니다. ^^

고맙습니다 ^^
감사
초보는 뭔소린지 공부좀 해야겠지만 유용하게 쓸거같아요..

고맙습니다. 잘 사용하겠습니다.
고맙습니다. ^^ 랜덤~
최신버젼에서도 아주 잘되네요..퍼갑니다.