안녕하세요 도움을 받고싶습니다.

안녕하세요 도움을 받고싶습니다.

QA

안녕하세요 도움을 받고싶습니다.

본문

index에 latest 최신글을 불러오고 더 보기 기능을 눌렀을 때 다른 최신글을 불러오도록 하고싶은데

ajax를 이용하라하셔서 ajax를 해봤는데도 오류가 생기고 실행도 되지 않아서 도움을 청합니다.

 

어떤식으로 ajax를 작성하는게 좋을까요??

 

더 보기 버튼을 눌렀을 때 최신글이 나왔으면 좋겠습니다!~!!

이 질문에 댓글 쓰기 :

답변 3

카테고리를 누르면 카테고리별 게시판이 불러옵니다.

예전에 만들었던건데 참고하세요

 

php부분 / 함수를 사용 (꼭 함수를 사용하지 않아도 됨)
기존에 에러가 있다면, 데이터를 json으로 주고 받지 않아서 에러가 날 확률이 높습니다.



<?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);
}
 
?>

출력부분 (제이쿼리 clone를 사용하려고 만들었는데, 제이쿼리나 자바스트립트에서 append해도 됩니다.)



<!--출력부분, 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>

제이쿼리 부분(제이쿼리 클론을 사용했는데 valu.wr_subject 처럼 변수를 불러와 append해도 됩니다.)

temp를 콘솔에 내용을 출력해 보시면 이해할 수 있을겁니다.



<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>

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

회원로그인

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