레벨 9 이상 되는 회원을 foreach 로 호출하려면?
본문
안녕하세요. :)
아래는 레벨 9 이상의 회원 id를 호출 소스인데요.
<?
$sql="select * from `g4_member` where mb_level>='9' order by mb_name";
$result1 = mysql_query($sql);
while ($row = mysql_fetch_array($result1)) {
echo "$row[mb_id]";
}
?>
이것을 while 문 대신, foreach 문으로 불러오려면 어떻게해야 되나요?
$wid 값이 "회원아이디1,회원아이디2,회원아이디3" 처럼 한묶음의 값을 가지게 하려고 하는데,
아래처럼 하였는데, 이렇게 하였는데, 잘 안되네요.ㅜㅜ
도움 부탁 드려요.
<?
$sql="select * from `g4_member` where mb_level>='9' order by mb_name";
$result1 = mysql_query($sql);
$row = mysql_fetch_array($result1);
foreach($row[mb_id] as $i) {
$wid .= $i.',';
}
echo "$wid";
}
?>
답변 3
인원수가 적을 때는 슈와이님 답변처럼 하면 됩니다
많으면 즉 문자열 길이가 길어지면 서버 설정에 따라 잘려서 나오게 됩니다
이런 경우는 아래처럼 하면 됩니다
<?
include "common.php";
$result1 = sql_query("select mb_id from g5_member where mb_level>='5' order by mb_name");
$i=0;
while($row = sql_fetch_array($result1)){
$i++;
$wid .=$deli. $i.$row['mb_id']; $deli=',';
}
echo $wid;
?>
<?
$sql="select * from `g4_member` where mb_level>='9' order by mb_name";
$result1 = mysql_query($sql);
$row = mysql_fetch_array($result1);
$wid .= $i['mb_id'].',';
}
echo substr($wid, 0, -1); // 마지막 , 는 제외
?>
$row['mb_id'] 를 $row 로 변경해야 됩니다.