최근게시물을 가져와서 그 중 답변이나 댓글이 있을경우 제외시키는 방법을 알려주세요~

최근게시물을 가져와서 그 중 답변이나 댓글이 있을경우 제외시키는 방법을 알려주세요~

QA

최근게시물을 가져와서 그 중 답변이나 댓글이 있을경우 제외시키는 방법을 알려주세요~

본문

최근게시물을 가져와서 그 중 답변이나 댓글이 있을경우 제외시키는 방법을 알려주세요~

 

Jos87님의 scroll 최근게시물 스킨을 사용중인데 해당 최근게시글 중에서 답변글이나 댓글이 달려있는 게시물은 제외를 시키는 방법을 알려주시면 감사하겠습니다.


​<?
// 변수 설정
$out_bo_table = array("notice","photo","refer"); // 제외하고 싶은 게시판 이름을 적어주세요
$cur_subject = 18; // 제목 글자수
$latest_sql = sql_query("select bo_table, wr_id, wr_parent from $g4[board_new_table] where bn_datetime like '{$g4[time_ymd]}%' order by bn_id desc limit 20");
​
// 공지를 제외하는 구문
$notice_sql= sql_query("select bo_table, bo_notice from ". $g4['board_table']);
while($row = sql_fetch_array($notice_sql)) {
 $tnotice[$row['bo_table']] = trim($row['bo_notice']) != "" ? explode("\n" ,$row['bo_notice']) : '';
}
unset($row);
$temp1 = array();
// 댓글을 제외하고 뽑아온다.
while($row = sql_fetch_array($latest_sql)) {
 $flag = $row['wr_id'] == $row['wr_parent'] ? true : false;
 foreach($out_bo_table as $temp) {
  if($row['bo_table'] == $temp) $flag = false;
 }
 unset($temp);
 if($flag) {
  // 공지사항을 제외하는 구문
  if(is_array($tnotice[$row['bo_table']])) {
   $flag2 = true;
   foreach($tnotice[$row['bo_table']] as $temp) if(trim($row['wr_id']) == trim($temp)) $flag2 = false;
   if($flag2) $temp1[] = $row;
  } else $temp1[] = $row;
 }
}
​// 습관이라서 쓰고나고 필요없는 변수를 제거......
unset($tnotice);
unset($flag);
unset($flag2);
unset($temp);
unset($row);
$right_rolling = "";
if(is_array($temp1)) {
 foreach($temp1 as $temp) {
  $array_new = sql_fetch("select wr_subject, wr_datetime, wr_name from ". $g4['write_prefix'].$temp['bo_table']. " where wr_id = '".$temp['wr_id']."'");
  $bo_name = sql_fetch("select bo_subject from ".$g4['board_table']." where bo_table = '". $temp['bo_table']. "'");
  $diff = time() - strtotime($array_new['wr_datetime']);
  if($diff < 60) $nr_datetime = $diff . "초전";
  else if( $diff < 3600 && $diff > 59) $nr_datetime = round($diff/60). "분전";
  else if( 86400 > $diff && $diff > 3599 ) $nr_datetime = round($diff/3600). "시간전</span>";
  else $nr_datetime = substr($list['wr_datetime'],5,5);
  $right_rolling .= "<li><div class=\"letiker\"><span class=\"subject_new\">ㆍ<a href=\"".$g4['path']."/bbs/board.php?bo_table=$temp[bo_table]&wr_id=$temp[wr_id]\"><b>". cut_str($array_new['wr_subject'], $cur_subject) . "</b></a></span><span class=\"tikinfo\">Q&A"."<span class=\"tikbar\"> | </span>" .$array_new['wr_name']. "</span></div><div class=\"ritiker\"><span class=\"timer\"></span>".$nr_datetime."</div></li>";
 }
} else $right_rolling = "자료가 없습니다.";
unset($array_new);
unset($bo_name);
unset($temp1);​
?>

위 코드중에서 수정추가해야할 부분에 대해서 자세히 알려주시면 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 2

위의 소스 중에 39~46번째 줄의 내용을 다음과 같이 수정해보세요.


$array_new = sql_fetch("select wr_subject, wr_datetime, wr_name from ". $g4['write_prefix'].$temp['bo_table']. " where wr_id = '".$temp['wr_id']."'"); //이 부분부터 아래와 같이 수정
 
$array_new = sql_fetch("select wr_subject, wr_datetime, wr_name from ". $g4['write_prefix'].$temp['bo_table']. " where wr_reply = '' and wr_is_comment = 0 and wr_id = '".$temp['wr_id']."'");
if ($array_new) {
   $bo_name = sql_fetch("select bo_subject from ".$g4['board_table']." where bo_table = '". $temp['bo_table']. "'");
   $diff = time() - strtotime($array_new['wr_datetime']);
   if($diff < 60) $nr_datetime = $diff . "초전";
   else if( $diff < 3600 && $diff > 59) $nr_datetime = round($diff/60). "분전";
   else if( 86400 > $diff && $diff > 3599 ) $nr_datetime = round($diff/3600). "시간전</span>";
   else $nr_datetime = substr($list['wr_datetime'],5,5);
   $right_rolling .= "<li><div class=\"letiker\"><span class=\"subject_new\">ㆍ<a href=\"".$g4['path']."/bbs/board.php?bo_table=$temp[bo_table]&wr_id=$temp[wr_id]\"><b>". cut_str($array_new['wr_subject'], $cur_subject) . "</b></a></span><span class=\"tikinfo\">Q&A"."<span class=\"tikbar\"> | </span>" .$array_new['wr_name']. "</span></div><div class=\"ritiker\"><span class=\"timer\"></span>".$nr_datetime."</div></li>";
}
 

 

다시 정리하자면

38번째 줄의    foreach($temp1 as $temp) {    부터

47번째 줄의    }    부분 안에 있는 내용을 위와 같이 수정하는 것입니다.

감사합니다~

잘 수정해서 적용했습니다.

 

다만 수정사항 03번줄에 조건절에서 wr_is_comment = 0 이부분에서 wr_comment = 0으로 수정했더니 코멘트 1개만 달려도 안나오더라구요.

그 차이점을 찾고 있습니다. 매번 사용은 하지만 잊어버리네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT