최근 게시물에서 월별로 출력

최근 게시물에서 월별로 출력

QA

최근 게시물에서 월별로 출력

본문

달력에 일정을 최근게시물에서 불러오느라고 자료실 스킨을 활용해 수정했습니다. 

 

문제는 올린 순서로 출력이 되다 보니까 다음달 리스트가 출력이 되고 이번달은 뒤로 밀려 버리는 현상이 

 

일어나네요. 

 

최근게시물에 해당 월리스트만 출력하는 방법은 어떻게 하면 되는지요

 

그리고 제목앞에 일정의 "월/일"도 출력하고 싶은데 

 

도움을 구합니다. 

 

http://hanwoori.com

 

참고한 스킨은 

http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=62228&sca=최신글&sfl=wr_subject%7C%7Cwr_content&stx=일정&page=2

입니다 

이 질문에 댓글 쓰기 :

답변 3

데이터 정렬방식이 올린 순으로 되어 있어서 그런것은 아실거구요

입력한 날짜 순으로 정렬을 해서 노출을 하고 싶다고 하시는 건데..

 

단순히 날짜순으로 정렬하려면 order by wr_datetime 만 해주면 금방 날짜 순으로 정렬이 되는데

 

일단 지금 날짜를 어떤 식으로 입력하고 계신지부터 확실히 해두셔야 할거 같아요

 

링크를 통해서 사이트를 가보니 6/7, 8/11 식으로 수동입력을 해서 노출을 되게 하셨는데요.

이렇게 하면 정렬이 되지 않습니다. 그리고 설사 된다고 해도 내년에 입력하게 될 일정 3/2(20150302) 가

올해 입력한 1/2(20140102) 보다 뒤로 오는 현상이 발생할 수도 있습니다.

 

이런경우 yy-mm-dd 형식으로 날짜를 입력받아 정렬순을 날짜 순으로 해주면 아무런 문제없이 정렬이 가능합니다.

우선 데이터를 입력하는 방식부터 변경하셔야 할것 같습니다.

 

입력을 2014-08-14 형식으로 해 주시고 정렬을 날짜순으로 해준다음 최근게시물에서 표시를 할때는 substr(datatime,5,5)등을 통해서 변환해서 표시해주면 됩니다.

 

요약하자면 

1.지금 날짜 입력방식으로는 정렬이 불가능하다. 설사 정렬이 된다고해도 년도가 바뀌면 다시 썩일 수 있다.

2.지금 입력하는 방식을 버리고 모든 날짜 데이터를 yy-mm-dd 형식으로 변경한다.

3.데이터 정렬방식을 입력순이 아닌 일정순으로 정렬한다.

4.데이터를 최근게시물로 표기할때는 데이터를 가공하여 표기한다.

 

 

 

 

와~ 너무 친절한 답변 고맙습니다^^
제가 완전 초보라 홈페이지 여기서 배우면서 조금씩 뜯어서 고치면서 말씀하신 것을 잘 모르겠어요.
6/7일은 그냥 제목 앞에다 말씀하신 대로 수동으로 써 넣었는데요..
어디를 어떻게 고쳐야 하는지 통 감이 안오네요 ㅜㅜ
최근게시물이라 올린 순서대로 올라오는건 이해하겠는데
게시판이 달력스킨을 사용하거든요
거기서 목차만 뽑아오고 싶은데 비슷한 최근게시물 스킨이 없더라구요.
그래서 나름 한다고 수정했는데 결과가 그러네요

말씀하신 부분을 수정한다면 어느 파일을 어떻게 수정해야 하는지요
염치불구하고 문의드립니다.
아래 코드는 최근게시물 뽑아오는 php코드 입니다.


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 
?>

<!-- <?=$board[bo_subject]?> (<?=$board[bo_table]?>) 최신글 시작 -->
<p><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><font style='font-family:돋움; font-size:9pt; '><strong> 
  <?=$board[bo_subject]?>
  </strong></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="<?=$latest_skin_path?>/img/board_more.gif" width="45" height="18" border="0"><font style='font-family:돋움; font-size:9pt; '><strong> 
  </strong></font></a> </p>
<table width="96%" height="21" border="0" cellpadding="0" cellspacing="0" bgcolor='#f9f9f9' style='padding-top:3px'>
  <? for ($i=0; $i<count($list); $i++) { ?>
  <tr> 
    <td width="45" height="20" align="center" valign="middle" ><img src="<?=$latest_skin_path?>/img/board_icon.gif" width="9" height="13"></td>
    <td width="940" valign=middle> 
      <?
									echo $list[$i][icon_reply] . " ";
									echo "<a href='{$list[$i][href]}'>";
									if ($list[$i][is_notice])
										echo "<font style='font-family:돋움; font-size:9pt; color:#2C88B9;'><strong>{$list[$i][subject]}</strong></font>";
									else
										echo "<font style='font-family:돋움; font-size:9pt; color:#6A6A6A;'>{$list[$i][subject]}</font>";
									echo "</a>";

									if ($list[$i][comment_cnt]) 
										echo " <a href=\"{$list[$i][comment_href]}\"><span style='font-family:돋움; font-size:8pt; color:#9A9A9A;'>{$list[$i][comment_cnt]}</span></a>";

									
									echo " " . $list[$i][icon_new];
								  
									?>
    </td>
  </tr>
  <? if($i<(count($list)-1)){?>
  <?}?>
  <? } ?>
  <? if (count($list) == 0) { ?>
  <? } ?>
</table>
<!-- <?=$board[bo_subject]?> (<?=$board[bo_table]?>) 최신글 끝 -->

다시봤는데 제목에다 날짜를 같이 입력하셨군요...

 

write.skin.php 에 여분분필드를 하나 생성합니다.

<th>일정</th> 

<td><input type="text" name="wr_1" id="wr_1" value="<?php echo $write['wr_1'];?>"></td>

글쓰기를 하시면 날짜를 입력하는 칸이 나올 겁니다.

모든 일정게시물에 일일이 들어가셔서 해당하는 날짜를 적어주세요 yy-mm-dd형식으로(2014-07-17)

 

 

/lib/latest.lib.php 파일을 열고 

전체를 복사 한 후 붙여 넣기 해주세요. 그리고 붙여넣기한 함수의 이름을 작명해 주세요.

ex) latest로 되어 있는 것을 mylatest 이런식으로 아무이름이나.

 

새로이 만든 함수에

$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";

이 부분을  

$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_1 desc limit 0, {$rows} ";

로 변경해주세요.

 

이제 스킨에서 <td><?php echo stbstr("$list[i]['wr_1']",5,5);?></td>로 출력을 할 수 있게 해주세요.

 

그리고 index.php 에서 앞에서 정한 내 함수 <?php echo $mylatest('스킨이름','테이블명','불러올게시물','자를 글자');?>

해서 호출을 해주시면 됩니다.

 

일일이 설명하려면 몇페이지도 모자라 요약해서 적습니다. 적용하는데는 크게 무리가 없을 것입니다. 

 

 

오타가 있습니다. 직접 코드를 에디터에 작성한게 아니라 글쓰는 곳에 직접 적다 보니 그랬던 것 같습니다.

<td><?php echo stbstr("$list[i]['wr_1']",5,5);?></td>

 

->

<td><?php echo substr("$list[$i]['wr_1']",5,5);?></td>

 

입니다. 다른 오타가 있을지도 모르니 잘 살펴 보시고 하시기 바랍니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 14,990
QA 내용 검색
filter #php ×

회원로그인

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