for문에서 리스트를 변수에 담아서 외부에서 뿌리는법즘. 정보
for문에서 리스트를 변수에 담아서 외부에서 뿌리는법즘.-
Terrorboys 자기소개 아이디로 검색 회원게시물
- 조회 1,523
- 댓글 10

본문
//////////////// 제외 설정 ///////////////
$query_2 = "select * from g4_write_$bo_table";
$result_2 = mysql_query($query_2);
for ($i = 0; $i < $ban = mysql_fetch_array($result_2); $i++) {
$zz[$i] = "'".$ban[mb_id]."', ";
}
//////////////////////////////////////////
//////////////// 회원수 로드 /////////////
$query_1 = "select * from g4_member where mb_id not in (이부분)"; // where mb_id not in ('$mb_id') $mb_id를 제외.
$result_1 = mysql_query($query_1);
$num = mysql_affected_rows();
for문에서 뜨는 리스트들은 "여기 부분"에 전부 넣으려고 합니다.
위처럼 $zz[$i]로 값을 저장했는데.
이럴경우 어떻게 for문 밖에서도 그 리스트를 그대로 쓸수 있을까요?
참고로 수동으로 $zz[$i]값을 지정해서
$query_1 = "select * from g4_member where mb_id not in (이부분)";
"이부분"에 넣을수 없습니다. 데이터가 수시로 바뀌기 때문에 말이죠.
댓글 전체
위에서 작성하신 $zz 변수는 $i가 증가하기때문에 배열화되어 들어갑니다.
즉 $zz에 콤마를 넣으신것으로 봐서 문자열로 만드시려고 한거 같은데
이는 $i가 증가함에 따라 문자열이 아닌 배열로 만들어집니다.
$query_2 = "select * from g4_write_$bo_table";
$result_2 = mysql_query($query_2);
$cnt = "0";
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
}
$sql_where = " where 1";
for($i=0;$i<count($cnt);$i++) {
$sql_where .= " and md_id != '$zz[$i]' ";
}
$query_q = "select * from g4_member ".$sql_where;
...
즉 $zz에 콤마를 넣으신것으로 봐서 문자열로 만드시려고 한거 같은데
이는 $i가 증가함에 따라 문자열이 아닌 배열로 만들어집니다.
$query_2 = "select * from g4_write_$bo_table";
$result_2 = mysql_query($query_2);
$cnt = "0";
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
}
$sql_where = " where 1";
for($i=0;$i<count($cnt);$i++) {
$sql_where .= " and md_id != '$zz[$i]' ";
}
$query_q = "select * from g4_member ".$sql_where;
...

$query_q = "select * from g4_member ".$sql_where;
해당 소스도 마찬가지로 최신값 1개만 로드 됩니다.
해당 소스 출력
select * from g4_member where 1 and md_id != 'kira'
$query_q = "select * from g4_member ".$sql_where."', ";로 수정
츨력되는값
select * from g4_member where 1 and md_id != 'kira',
출력되야할 값
select * from g4_member where 1 and md_id != 'kira', 'kira2', 'kira3'~~~~
해당 소스도 마찬가지로 최신값 1개만 로드 됩니다.
해당 소스 출력
select * from g4_member where 1 and md_id != 'kira'
$query_q = "select * from g4_member ".$sql_where."', ";로 수정
츨력되는값
select * from g4_member where 1 and md_id != 'kira',
출력되야할 값
select * from g4_member where 1 and md_id != 'kira', 'kira2', 'kira3'~~~~
아 죄송합니다.;;
while문안에 $cnt++; 추가해주세요 ;;
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
$cnt++;
}
while문안에 $cnt++; 추가해주세요 ;;
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
$cnt++;
}

값이 1개만 출력되네요 ㅠ.ㅠ;
흠;; 밑에 수정합니다..-_-;
$query_2 = "select * from g4_write_$bo_table";
$result_2 = mysql_query($query_2);
$cnt = "0";
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
$cnt++;
}
for($i=0;$i<count($cnt);$i++) {
if($i == '0') $sql_where .= " where md_id != '$zz[$i]' ";
else $sql_where .= " or md_id != '$zz[$i]' ";
}
$query_1 = "select * from g4_member ".$sql_where;
$query_2 = "select * from g4_write_$bo_table";
$result_2 = mysql_query($query_2);
$cnt = "0";
while($ban = mysql_fetch_array($result_2)) {
$zz[$cnt] = $ban['mb_id'];
$cnt++;
}
for($i=0;$i<count($cnt);$i++) {
if($i == '0') $sql_where .= " where md_id != '$zz[$i]' ";
else $sql_where .= " or md_id != '$zz[$i]' ";
}
$query_1 = "select * from g4_member ".$sql_where;

역시 1개만 출력됩니다.
echo $sql_where;
하시면 뭐라고 나오나요?
한번 보고 싶습니다. 네톤 가능하신지요..
하시면 뭐라고 나오나요?
한번 보고 싶습니다. 네톤 가능하신지요..

*** 개인정보보호를 위한 이메일주소 노출방지 *** 입니다.^^
뻘짓 죄송했습니다.
for문 안에 count($zz) 입니다 ㅠ_ㅠ
for문 안에 count($zz) 입니다 ㅠ_ㅠ

천율님 정말 감사합니다.
덕분에 스킬업 하였습니다.
덕분에 스킬업 하였습니다.