sql 결과를 배열로 불러오기 질문입니다
본문
$sql = "select mb_id from g5_member order by rand() limit 100";
$result = sql_query($sql);
$m_result = sql_fetch_array($result);
$rand_member = id1,id2,id3,id4.... 이런식으로 전체회원중 100개의 아이디를 랜덤으로 불러오려고 하는데 위 처럼 하면 랜덤으로 불러와지긴 하는데 한개만 불러와집니다.
어떤 부분이 잘못됐는지 궁금합니다.
!-->답변 4
질문의 의도가 모호합니다.
100개의 아이디를 랜덤으로 가져오고 싶으시면
볼피드님의 답변을 이용해서
$list 안에 담겨있는 100개의 ID를 활용하시면되고
100개중에서 1개만 원하시면
처음것으로 이용하면되는데
function getRandMember() {
$sql = "select mb_id from g5_member order by rand() limit 100";
$row = sql_fetch($sql);
return $row[0];
}
이렇게 할경우
$randmember = getRadnMember();
하면 매번 다른 ID를 가져오겠죠
질문에서
이렇게 사용하는것이나 100개를 가져와서 사용하는것이나
랜덤ID를 사용하려년 용도가 누락된것같습니다.
$list = array();
$sql = "select mb_id from g5_member order by rand() limit 100";
$result = sql_query($sql);
for($i=0;$row=sql_fetch_array($result);$i++){
$list[] = $row;
}
print_r($list);
select group_concat( mb_id separator ',') from g5_member order by rand() limit 100
query를 이렇게 바꿔 보세요.
$sql = "select mb_id from g5_member order by rand() limit 100";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
$rand_member .= $row['mb_id'] . ',';
}
$rand_member = rtrim($rand_member, ',');
echo $rand_member;
답변을 작성하시기 전에 로그인 해주세요.