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

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

/*
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

번호 제목 글쓴이 날짜 조회
2715 디데이(d-day) 설정 기능 (PHP+JavaScript) 13 김영철 01.13 2935
열람중 랜덤으로 DB 추출 php + mysql 13 김영철 01.13 2935
2713 serialize() 이용한 객체의 직렬화 13 김영철 01.14 2935
2712 USB 버젼 속도 차이 2 천진난만 02.20 2935
2711 [테이블] 배경에 style 이용하기 (태그공부) 99 단국강토 02.04 2934
2710 SQL : T-SQL문 : T-SQL(Transact-SQL)문법 13 김영철 01.23 2934
2709 [일로스트] 원아래로 똑바로 흐르는 문자 10 액션쟁이 12.30 2933
2708 MS SQL 서버 확장 스토어드 프로시저 만들기 13 김영철 01.23 2933
2707 배열 사용 13 김영철 01.14 2933
2706 [문서] prototype.js v1.4.0 13 김영철 01.29 2933
2705 PHP에서 사용하는 오라클 함수 13 김영철 01.14 2930
2704 웹프로그래밍 언어별 데이터베이스연결 (ASP편) 13 김영철 01.23 2930
2703 휴대폰 하이픈 처리 함수 13 김영철 01.14 2927
2702 setTimeout,setinterval 에대한.스크립..이해 99 단국강토 02.10 2926
2701 register_globals=OFF에 따른 프로그래밍 방법 13 김영철 01.14 2926
2700 PHP.INI 내용과 각 옵션의 기능(PHP4 기준) 13 김영철 01.14 2926
2699 포토샵강좌 - 하얀색연필로 칠한것 같은 테두리만들기 10 액션쟁이 01.12 2924
2698 뒷배경이 투명한 플래시 만들기 99 단국강토 01.07 2924
2697 정규 표현식 13 김영철 01.13 2924
2696 스타일시트로 버튼 만들기 99 단국강토 02.05 2923
2695 SQL : 집계함수 : 집계함수. 13 김영철 01.23 2923
2694 CSS - Style Sheet (스타일시트) 사용법 99 단국강토 02.04 2922
2693 루트밑에 특정 확장자 파일을 특정디렉토리에 복사 13 김영철 01.29 2921
2692 팝업창 닫고 프레임이 있는 부모창에서 원하는 페이지로 이동하기 M 최고의하루 12.23 2921
2691 IP 추적은 어떻게 하는가? 99 단국강토 01.07 2919
2690 URL 유효성 체크 ( 도메인 유효 ) 13 김영철 01.14 2918
2689 sysobjects 테이블 스키마 13 김영철 01.23 2917
2688 손 쉽게 아웃 포커싱 효과주기 10 액션쟁이 01.12 2916
2687 블로그,지식인만 있는것은 아니죠.. 2 비타민 07.17 2916
2686 테이블내 배경 고정 99 단국강토 02.04 2914
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취