>  기사  >  백엔드 개발  >  php_php 팁에서 mysql 레코드를 무작위로 선택하는 방법 요약

php_php 팁에서 mysql 레코드를 무작위로 선택하는 방법 요약

WBOY
WBOY원래의
2016-05-16 20:27:13938검색

이 기사의 예는 PHP에서 mysql 레코드를 무작위로 선택하는 방법을 요약합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

php에서 mysql 레코드를 무작위로 가져오려면 mysql_query를 직접 사용하여 mysql에서 select rand 함수로 얻은 데이터를 실행하고 읽어볼 수 있습니다.

방법 1, 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
select * from tablename order by rand()limit 1

제한 후 값을 임의로 선택하려는 항목 수로 변경하세요.

방법 2, 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
$query= "SELECT count(*) as count FROM 권장";
....
$max_num = $row['count']; // 총 레코드 수를 가져옵니다
srand((double)microtime()*1000000); // 난수 시드
$se_pos = rand(0, $max_num); // 난수 범위
$length = 6; //레코드 개수
if (($max_num - $se_pos) <= $length) {
$se_pos = $max_num - $se_pos; // 레코드 개수가 6개 미만인 경우
}

$query = "SELECT * FROM 권장 제한 ".$se_pos.",".$length;

예제 3, xyj라는 데이터베이스가 있고 데이터베이스에 obj 테이블이 있고 테이블의 필드가 name이라고 가정합니다. 이제 테이블에서 레코드를 무작위로 선택하려고 합니다.
코드 복사 코드는 다음과 같습니다.
$db = mysql_connect("localhost", "루트")
mysql_select_db("xyj",$db)
$result=mysql_query("SELECT * FROM obj",$db)
$max_num=mysql_num_rows($result);//데이터베이스의 레코드 수를 가져옵니다
srand((double)microtime()*10000000); //난수 시드를 생성합니다.
$se_pos=rand(0, $max_num-1); //0부터 최대 레코드 수까지 임의의 숫자를 취합니다.
$length=30; //총 가져올 레코드 수 설정
//다음은 지정된 개수의 레코드를 검색하는 것입니다.
$result_lim=mysql_query("obj 제한 $se_pos,$length에서 * 선택",$db)
$myrow_lim=mysql_fetch_array($result_lim)
printf("%sn", $se_pos);//무작위로 획득한 레코드 번호 표시
printf("%sn", $myrow_lim["name"]);//무작위로 획득한 레코드의 이름 필드 표시
?>

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.