디비에서 불러와 배열에 저장하고 나서 랜덤으로 보여주기
본문
메인 페이지에서 랜덤 게시판 접근가능하도록 구상중입니다.
1. $g5['board_table'] 에서 생성된 테이블 명을 모두 불러온 후
2. array_rand 함수로 1 개 불러오기
코드는 아래와 같습니다.
그런데 자꾸 아래 에러가 뜹니다.
Warning: array_rand() expects parameter 1 to be array,
$a 를 배열로 인식못하는거 같은데 제가 뭔가를 잘못하고 있는건가요?
$a 배열에 넣지 않고, echo 하면
모든 게시판 명이 다 뜨긴합니다.
$sql = " select * from {$g5['board_table']}"; // 테이블 리스트를 전체 선택
$a = array(); // 배열 만들고
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$a = $row['bo_table'];
} // 하나씩 배열에 저장해주고
;
$rand_keys = array_rand($a, 2); //
echo $a[$rand_keys[0]] . "\n";
echo $a[$rand_keys[1]] . "\n";
답변 3
$sql = " select * from {$g5['board_table']}"; // 테이블 리스트를 전체 선택 $a = array(); // 배열 만들고 $result = sql_query($sql); for ($i=0; $row=sql_fetch_array($result); $i++) { $a[] = $row['bo_table']; //잘못된 부분 } // 하나씩 배열에 저장해주고 $rand_keys = array_rand($a, 2); // echo $a[$rand_keys[0]] . "\n"; echo $a[$rand_keys[1]] . "\n";
그냥 커리를 하기전에 랜덤 알고리즘 을 처리해서 게시판 하나만 검색하는 것을 추천합니다
$sql = "SELECT * FROM ".$g5['board_table']." ORDER BY RAND()";
이런 식으로 하면 굳이 php에서 array_rand() 함수를 안 돌려도 됩니다.
답변을 작성하시기 전에 로그인 해주세요.