레벨 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;
?>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
늘 많이 배웁니다.
좋은 하루 되세요~
댓글을 작성하려면 로그인이 필요합니다.
$sql="select * from `g4_member` where mb_level>='9' order by mb_name"; $result1 = mysql_query($sql); $row = mysql_fetch_array($result1);
foreach($row as $i) { $wid .= $i['mb_id'].','; } echo substr($wid, 0, -1); // 마지막 , 는 제외 ?> $row['mb_id'] 를 $row 로 변경해야 됩니다.답변에 대한 댓글 1개
아주 잘됩니다. 최고입니다. good! ㅎ
저는 rtrim을 사용하였는데, substr도 좋네요~
좋은 하루 되세요~~
:)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
덕분에 잘 해결하였습니다.
늘 답변 감사드려요. 좋은하루되세요. :)