새 글수 출력 팁을 사용하려고 합니다

새 글수 출력 팁을 사용하려고 합니다

QA

새 글수 출력 팁을 사용하려고 합니다

본문

안녕하세요?

익명닉네임니의 팁을 사용하려고 합니다.


* [10년전 재탕 팁]메뉴 NEW 아이콘 또는 새글수 출력 (분류도 지원) → https://sir.kr/g4_tiptech/34031


그대로 사용해도 될 것 같아서 g4 를 g5로 바꿨는데 새로운 글 숫자가 안 나타나는군요~

어디를 손을 더 봐야하는지요~


추석연휴 몸 건강하시고 고향 길 편히 다녀오십시오~^^)

감사합니다.


<?php 

//24시간 이내의 글 수 알아내기 

function new_count($table_id,$ca_name,$cmt){ 

// 오늘을 불러옵니다. 

$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24)); 


// 여기는 오늘과 글쓴 날짜를 비교합니다. 

$tmp_write_table .= "g5_write_$table_id"; 

if($cmt){

$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment = '$cmt' and ca_name = '$ca_name' "; 

}else{

$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and ca_name = '$ca_name' "; 

}

// 새로운 글이 몇개 있는지 확인합니다. 

$result2 = sql_query($sql2); 

$total_count = mysql_num_rows($result2); 


if ($total_count > 0) { 

$str_cnt .= " [".$total_count."]"; //새글수 

$str_cnt .= ""; //이미지 

return $str_cnt; 

else { 

$str_cnt .= ""; 

return $str_cnt; 

?>


 

<?php

//자유게시판 새로운 글 출력방법 

//new_count("게시판명","분류명","0 게시물만 | 1 댓글만 | 빈 공간 둘다 ");

new_count("free","","0");

?>


이 질문에 댓글 쓰기 :

답변 5


<?php 
//24시간 이내의 글 수 알아내기  
function new_count($table_id,$ca_name,$cmt){ 
// 오늘을 불러옵니다. 
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24)); 

// 여기는 오늘과 글쓴 날짜를 비교합니다. 
$tmp_write_table .= "g5_write_$table_id"; 
if($cmt){
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment = '$cmt' and ca_name = '$ca_name' "; 
}else{
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and ca_name = '$ca_name' "; 
}
// 새로운 글이 몇개 있는지 확인합니다. 
$result2 = sql_query($sql2); 
$total_count = sql_num_rows($result2); 

if ($total_count > 0) { 
$str_cnt .= " [".$total_count."]"; //새글수 
$str_cnt .= ""; //이미지 
return $str_cnt; 
} 
else { 
$str_cnt .= ""; 
return $str_cnt; 
} 
} 

//자유게시판 새로운 글 출력방법 
//new_count("게시판명","분류명","0 게시물만 | 1 댓글만 | 빈 공간 둘다 ");
echo new_count("free","분류값 필수!","0");
?>

분류명에 값을 안넣으시면  쿼리문에서 못 불러옵니다 

감사합니다.
그런데 잘 안 됩니다.
그리고 echo new_count("free","분류값 필수!","0");
이렇게 echo를 넣으니까 뭐가 잘 못 되었는지 css가 이상해지면서 페이지가
멈춰버리는군요~

<?php
//24시간 이내의 글 수 알아내기 
function new_count($table_id,$ca_name,$cmt){
// 오늘을 불러옵니다.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));

// 여기는 오늘과 글쓴 날짜를 비교합니다.
$tmp_write_table .= "g5_write_$table_id";
$ca_sql="";
if ($ca_name) $ca_sql=" and ca_name = '$ca_name'";

if($cmt){
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment = '$cmt'  ";
}else{
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' ";
}
$sql2.=$ca_sql;
// 새로운 글이 몇개 있는지 확인합니다.
$result2 = sql_query($sql2);
$total_count = sql_num_rows($result2);

if ($total_count > 0) {
$str_cnt .= " [".$total_count."]"; //새글수
$str_cnt .= ""; //이미지
return $str_cnt;
}
else {
$str_cnt .= "";
return $str_cnt;
}
}

//자유게시판 새로운 글 출력방법
//new_count("게시판명","분류명","0 게시물만 | 1 댓글만 | 빈 공간 둘다 ");
echo new_count("test","","0");
?>
플래토님 답변참고하여 수정했습니다

이렇게 한번 해보세요 분류명 있으시면 넣으시고  안넣으셔도  상관 없습니다~

테스트 해보니 잘 작동합니다 ㅠㅠ;

head.php 및 list.skin.php 등 다른 곳에서도 시험해봤습니다.
echo new_count("test","","0");  또는  new_count("test","","0");
이상하게도 이 문구만 들어가면  어디에서 충돌이 나는지 css가 이상해지면서 페이지가
멈춰버리는군요~
아뭏든 참고하여 연구해 보겠습니다,
감사합니다.

new_count("free","","0"); 

이렇게 호출하신게 오류입니다.


위의 소스코들르 보면 어디를 봐도 두번째 인자값에 대한

구문이 있어야만 하는 구조입니다.


ca_name = '$ca_name'  


ca_name ='' 인것만 가져오기라는 형태로 적용될테니


제가 약간 변경을 해보면


// 기존코드
if($cmt){
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment = '$cmt' and ca_name = '$ca_name' "; 
}else{
$sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and ca_name = '$ca_name' "; 
}





// 변경된 코드
$ca_sql = "";
if ($ca_name)
   $ca_sql = " and ca_name = '$ca_name' ";


if($cmt){
     $sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment = '$cmt' "; 
}else{
     $sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'  "; 
}

$sql2 .= $ca_sql;


로 해보시면 나올텐데

그래도 안나오실경우 호출하실때

new_count("free","",0); 

으로 변경해보시는것도 추천합니다.


답변을 주신 모든 분께 감사드립니다.

다른 분도 참조하시라고 여기에 해결한 팁을 올려 드립니다.


* 메뉴부분에서 오늘 새글 표시하기 → https://sir.kr/g4_tiptech/1279 에서 답을 얻었습니다.


rang2ya님의 답변을 조금 수정하여 적용하니 잘 되고 있습니다.


모든 분들 추석연휴 잘 보내시고 고향 길 잘 다녀오십시오~^^)



1. 다음과 같은 함수를 필요한 곳(상단 등) 넣으시고

<?php 

//24시간 이내의 글 수 알아내기 

function new_count($table_id){ 

// 오늘을 불러옵니다. 

$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24)); 


// 여기는 오늘과 글쓴 날짜를 비교합니다. 

$tmp_write_table .= "g5_write_$table_id"; 

//$sql2 = "select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'"; // 댓글 포함 

$sql2 = "select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment=0"; // 댓글 제외


// 새로운 글이 몇개 있는지 확인합니다. 

$result2 = sql_query($sql2); 

$total_count = mysql_num_rows($result2); 


if ($total_count > 0) { 

$str_cnt .= " <font style='font-weight:normal;font-size:12px;color:blue';>(".$total_count.")</font>"; 

return $str_cnt; 

else { 

$str_cnt .= ""; 

return $str_cnt; 

?> 


2. 그리고 다음 구문을 원하시는 곳(수동메뉴 옆 또는 head.php 등 필요한 곳) 옆에 붙혀 주십시오~

예를 들어 자유게시판 이라면

<?=new_count(free);?> 

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

회원로그인

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