강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

랜덤으로 DB 추출 php + mysql
작성자 : 13 김영철
등록날짜 : 2009.01.13 13:19
3,489

/*
php 와 mysql 에서 사용하였지만 다른 웹개발언어에도 사용하셔도 무관합니다.
DB에서 다양한 것을 추출하고 싶을 때 사용하세요.
다만, 전체를 뽑아오는 것에 대한 과부하가 걱정이 되네요.
*/

 
SELECT * FROM table_name ORDER BY rand() LIMIT 0,1;
지식인 다 뒤져보니까.. 답변중에
======================================================
MySQL Query 에서 ORDER BY RAND() 는
완벽한 랜덤을 구현하지 못하는 경우가 종종 있습니다.
몇 개의 row 를 뽑아낸 후, 배열에 넣어 array_suffle() 함수
등을 이용하시면 보다 좋은 결과를 만들어내실 수 있을 것입니다.
======================================================

 
re: DB내용을 랜덤으로 뽑아내고 싶은데요(내공100) 
 
harangida (2005-06-23 09:51 작성, 2005-06-23 09:53 수정) 
 
 질문자 평
감사합니다 ^-^ 이제야 해결했네요.. 몇일을 끙끙거렸는데 하하;;
 
------------------------------------------------------------------------------------
해당 게시판의 인덱스 필드가 num 이라고 가정합니다.
만약 다른 필드명일 경우 아래 num 을 해당 필드명에 맞게 변경하세요.
------------------------------------------------------------------------------------
 
$query_focus = "SELECT num FROM focus_board ORDER BY num DESC";
$rs=mysql_query($query_focus,$connect);

 
 
//배열생성 하고 배열에 값을 넣습니다.
$arr = array();
while($list=mysql_fetch_object($rs)) {
  array_push($arr,$list->num);
}

 
// 배열을 섞습니다.(여러번 섞어도 무방합니다.)
shuffle($arr);

 
 
// 배열에서 첫번째 값을 뽑아옵니다. (편의상 첫번째 지만 알아서 하셔도 되요)
$val=array_slice ($arr, 0, 1);
 
 
// 해당 값을 쿼리하여 불러옵니다.
$query_focus = "SELECT * FROM focus_board WHERE num = $val[0]";
$result_focus= mysql_query($query_focus,$connect);
$data_focus= mysql_fetch_array($result_focus);
 
 
// 이후 나머진 소스는 동일합니다.
if($data_focus[use_html] == "yes"){
$content = explode("
",$data_focus[content]);
$content = $content[0]."
".$content[1]."
".$content[2]."
".$content[3]."
".$content[4]."
".".........";
}else{
$content = explode("n",$data_focus[content]);
$content = $content[0].$content[1].$content[2].$content[3].$content[4].".........";
}
 
 
 
/*
그냥 rand() 를 사용하는 것이 아닌 다른 방법이 있긴 하네요.
50 ~ 60 의 숫자를 구하고 싶을 때 rand()함수는 0에서 1보다 작은 실수를 생성시킵니다.
따라서 11을 곱한후 소수점 이하를 없애면 0부터 10까지 숫자가 생성됩니다.
여기에 50을 더하면 되겠죠?

FLOOR(RAND() * 11) + 50
*/

[출처]  웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3105 ABCUpload4와 MySQL4 13 김영철 01.29 3597
3104 업로드시 그림 파일명이 한글일경우 이름 자동 변경하기 13 김영철 01.14 3594
3103 이것은 AI파일 미리보기입니다. 댓글3 M 최고의하루 01.15 3587
3102 jpgraph사용법 13 김영철 01.14 3582
3101 CD ISO 이미지로 추출하고 M 최고의하루 01.03 3581
3100 [ JS ] 버튼을 이용한 이미지 넘기기 ( 이미지 리스트 ) 99 단국강토 01.02 3577
3099 [ ASP ] 최근 글에 New 표시하기 [ 최근 , 새글 , New , newDate() ] M 최고의하루 12.18 3576
3098 간단한 sugest 기능 2 kkkkkkk 02.16 3574
3097 jpgraph 사용법 13 김영철 01.14 3573
3096 PHP 업로드진행바(Pregress Bar) 구현 13 김영철 01.14 3572
3095 오라클과 MSSQL 의 날짜 비교 13 김영철 01.24 3564
3094 마우스 오른쪽 버튼막아 놓은 사이트에서 M 최고의하루 12.18 3563
3093 mysql의 최대 성능 향상 방법 99 단국강토 01.05 3562
3092 이미지미리보기pds파일미리보기파일입니다^^ 99 단국강토 01.14 3562
3091 Micro Gradient Button 10 액션쟁이 12.30 3549
3090 c강좌 (20) 자기참조 구조체 13 김영철 01.29 3544
3089 리눅스 팁 13 김영철 01.29 3542
3088 Date Types_7_7_08 99 단국강토 01.12 3541
3087 공유기 차단 무력화 시키는 법 99 단국강토 01.13 3541
3086 [포토샵]종이 찢어진 효과 만들기 10 액션쟁이 01.13 3539
3085 sitemesh 를 활용하자 2 huro 01.15 3525
3084 포토샵/일러스트레이터 갑자기 한글입력 안될때 2 천진난만 02.20 3524
3083 포토샵 - 낡은 폴라로이드 효과 (낡은사진효과) 10 액션쟁이 01.21 3521
3082 최대공약수 최소공배수 구하기 13 김영철 01.15 3519
3081 iframe 대신 object 로 외부파일을 불러옵니다 99 단국강토 01.12 3515
3080 [mssql]성능 측정을 위한 설정 13 김영철 01.23 3515
3079 Modern stylish text 10 액션쟁이 12.30 3497
3078 MSSQL Server DBA 가이드-4 M 최고의하루 12.26 3492
3077 OpenRowSet 이용하여 엑셀파일 DB로 저장하기 13 김영철 01.23 3491
열람중 랜덤으로 DB 추출 php + mysql 13 김영철 01.13 3490
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취