답변 3개
채택된 답변
+20 포인트
3년 전
카테고리를 누르면 카테고리별 게시판이 불러옵니다.
예전에 만들었던건데 참고하세요
php부분 / 함수를 사용 (꼭 함수를 사용하지 않아도 됨) 기존에 에러가 있다면, 데이터를 json으로 주고 받지 않아서 에러가 날 확률이 높습니다.
</p>
<pre>
<?php
include_once("./_common.php");
ajaxGetlist($target_board, $ca_name);
//상단에 호출된 함수 (카테고리별로 리스트를 가져오는 함수)
function ajaxGetlist($target_board, $ca_name=''){
//게시판 전체를 불러올수 있는 함수
//ca_name를 넘기면 카테고리별로 리스트 불러옴
//$list = get_default_list('notice','카테고리 이름');
global $g5;
$write_table = $g5['write_prefix'].$target_board;
$ca_name == "전체" ? $WHERE = "" : $AND = "AND ca_name = '{$ca_name}'";
$sql = "SELECT * FROM {$write_table} WHERE LENGTH(wr_subject) > 0 {$AND}";
$result = sql_query($sql);
$cnt = sql_num_rows($result);
while ($row = sql_fetch_array($result)){
$temp = new stdClass();
$temp -> cnt = $cnt;
$temp -> wr_id = $row['wr_id'];
$temp -> ca_name = $row['ca_name'];
$temp -> wr_subject = $row['wr_subject'];
$temp -> wr_content = $row['`wr_content'];
$temp -> mb_id = $row['mb_id'];
$temp -> wr_name = $row['wr_name'];
//$temp -> wr_datetime = $row['wr_datetime'];
$temp -> wr_last = date('n/j', strtotime($row['wr_last']));
$temp -> wr_1 = $row['wr_1'];
$temp -> href = G5_BBS_URL.'/board.php?bo_table='.$target_board.'&wr_id='.$row['wr_id'];
$array[] = $temp;
}
echo json_encode($array);
}
?></pre>
<p>
출력부분 (제이쿼리 clone를 사용하려고 만들었는데, 제이쿼리나 자바스트립트에서 append해도 됩니다.)
</p>
<pre>
<!--출력부분, jquery clone()을 사용할 예정, append()를 통해서 직접 추가해도 됨-->
<section class="club_contents club_top_contents" id="insert_section">
<div class="notice ft_cnt">
<ul class="club_item" id="item_ul">
<!-- <li></li>-->
</ul>
</div>
</section>
<!--클론을 위한 테그-->
<section style="display: none">
<ul>
<li id="clone_tag">
<div class="latested-subject">
<a></a>
</div>
<span class="date_btn"></span>
</li>
</ul>
</section></pre>
<p>
제이쿼리 부분(제이쿼리 클론을 사용했는데 valu.wr_subject 처럼 변수를 불러와 append해도 됩니다.)
temp를 콘솔에 내용을 출력해 보시면 이해할 수 있을겁니다.
</p>
<pre>
<script>
function ajaxGetlist(target, mode){
//ajax 폴더 위치
var ajaxUrl = g5_url+'/theme/pbcm/ajax/';
$.ajax({
url: ajaxUrl + "ajaxGetlist.php",
type : "post",
data : {
target_board : target,
ca_name : mode,
}
}).done(function(result){
var temp = JSON.parse(result);
$('#item_ul').empty();
$.each(temp, function (index, value){
var $li = $('#clone_tag').clone().removeAttr('id');
$('#item_ul').append($li);
var $last_li = $('#item_ul li').last();
$last_li.find('a').text('['+value.ca_name+'] '+value.wr_subject);
$last_li.find('a').attr('href', value.href);
$last_li.find('.date_btn').text(value.wr_last);
});
});
}
</script></pre>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인