테스트 사이트 - 개발 중인 베타 버전입니다

sql 결과를 배열로 불러오기 질문입니다 채택완료

지솩 4년 전 조회 2,612

</p>

<p>$sql = "select mb_id from g5_member order by rand() limit 100";

                        $result = sql_query($sql);                        

                        $m_result = sql_fetch_array($result);</p>

<p>

 

$rand_member = id1,id2,id3,id4.... 이런식으로 전체회원중 100개의 아이디를 랜덤으로 불러오려고 하는데 위 처럼 하면 랜덤으로 불러와지긴 하는데 한개만 불러와집니다.

어떤 부분이 잘못됐는지 궁금합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
플래토
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를 사용하려년 용도가 누락된것같습니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

</p>

<p>$sql = "select mb_id from g5_member order by rand() limit 100";

$result = sql_query($sql);       </p>

<p>while ($row = sql_fetch_array($result)) {

    $rand_member .= $row['mb_id'] . ',';

}</p>

<p>$rand_member = rtrim($rand_member, ',');

echo $rand_member;</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

select group_concat( mb_id separator ',') from g5_member order by rand() limit 100

query를 이렇게 바꿔 보세요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

</p>

<p>$list = array();</p>

<pre>
<code>$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;
}</code></pre>

<p><code>print_r($list);</code></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

지솩
4년 전
감사합니다. $rand_member = print_r($list) 이렇게 변수에 넣었더니 결과값이 마음대로 뿌려지는데 변수에 담으려면 어떻게 해야할까요??

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인