new.php 에서 특정글만 뽑아오려면...
본문
안녕하세요~
초보입니다ㅠㅠ
며칠 며칠 고생하다가 방법을 못찾아 이렇게 질문드립니다.
new.php 에서 wr_1 = '등록' 이렇게 된 게시글만 불러오려고 하니
잘안되네요.
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_id']}' and wr_1 = '등록'");
이렇게 했는데
wr_1에 입력안된 게시글도 함께 나옵니다.
카운터에서 문제가 있는것같은데요. 이거 로직은 완전 새로 짜야하는지..ㅠ..ㅠ
그러니까 new.php 에서 한페이지에 보일 수를 10으로 정해놨을때
wr_1 = '등록' 이글만 10개가 나와야하는데 등록안된 글도 같이 카운터돼서 나오네요..
아... 이거 검색을 하루종일 해봐도 모르겠네요ㅠㅠ 아직 갈길이 멀어 혼자하기가 너무 힘듭니다ㅠㅠ
도움주시면 감사하겠습니다..!ㅜㅜ
답변 6
참고할만한 소스를 더 올려주시겠어요?ㅎ
저 쿼리대로라면 등록이라고 된것만 나오는게 맞는데...
26라인 이전에 아래와 같이 추가해보세요.
$sql_common .= " and wr_1 = '등록' ";
잘 찾아보세요... 없을수가 없어요!!!
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id {$sql_common} {$sql_order} limit {$from_record}, {$rows} ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
이게 위에서부터 내려온 sql_common을 통해서 검색을 하는거에요.
이걸 $row에 저장을하죠.
그런데 아래쪽에 보면
$list[$i]['gr_id'] = $row['gr_id'];
$list[$i]['bo_table'] = $row['bo_table'];
$list[$i]['name'] = $name;
$list[$i]['comment'] = $comment; $list[$i]['href'] = './board.php?bo_table='.$row['bo_table'].'&wr_id='.$row2['wr_id'].$comment_link; $list[$i]['datetime'] = $datetime; $list[$i]['datetime2'] = $datetime2; $list[$i]['gr_subject'] = $row['gr_subject']; $list[$i]['bo_subject'] = $row['bo_subject'];
$list[$i]['wr_subject'] = $row2['wr_subject'];
이렇게 있어요.
이걸 보자면 $row만큼 for문을 돌려서 $row2에서 나온 wr_subject를 $list에 저장하는거에요.
즉 $row에서부터 wr_1을 걸러내지 않는다면 무조건 wr_1이 포함된게 나온다는거에요.
이것때문에 PWneo님께서 위에 wr_1=등록 이거를 넣으라고 하신거에요~
new.php 파일에서
// 원글
$comment = "";
$comment_link = "";
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
$list[$i] = $row2;
위 부분을 아래와 같이 바꾸면 되지 않을까요?
// 원글
$comment = "";
$comment_link = "";
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_id']}' and wr_1='등록' ");
if(!$row2['wr_id']) continue;
$list[$i] = $row2;
이렇게 수정하면 될 듯 싶은데요.
!-->!-->드래곤된다님 답변 감사드립니다.
위 처럼 뜹니다.
제일위에 있는게 wr_1 에 값이 없는 거구요.
아래 4개가 wr_1=등록 되어있는겁니다.
환경설정에서 즉 $rows = $config['cf_new_rows']; 이걸 5개로 설정했구요.
아무쪼록 정말 감사드립니다..ㅠ..ㅠ
그러면요.
// 코멘트
$comment = '[코] ';
$comment_link = '#c_'.$row['wr_id'];
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' ");
$row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
$list[$i] = $row2;
위 부분도 아래처럼 변경해 줘 보세요.
// 코멘트
$comment = '[코] ';
$comment_link = '#c_'.$row['wr_id'];
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' and wr_1='등록'");
if(!$row2['wr_id']) continue;
$row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
$list[$i] = $row2;
이전 댓글 내용도 같이서 적용해 보세요.
!-->!-->