공공데이터 관련 질문 드립니다.

공공데이터 관련 질문 드립니다.

QA

공공데이터 관련 질문 드립니다.

본문

이번에 제가 자원봉사센터 홈페이지를 무료로 제작을 해드렸습니다.

그런데 제가 하고 힢은 것은 현제 자원봉사정보를 좀 가져오려고 합니다. 그런데 만들기는 했는데 이상하게 시도 는 잘 됩니다. 그런데 2페이지로 넘어가면 다시 초기화가 되는 현상이 일어나서요 이건 어떻게 해야 하는 것인지 그리고 나머지 텝들도 적용을 하고 싶은데 어떻게 해야 할지 몰라서요 혹시 아시는 분 계실까요

https://www.data.go.kr/data/15077681/openapi.do

이걸 토대로 했구요 

아래 코드는 제가 만든건데 작동이 안되는게 맞네요 이걸 정상적으로 돌아가게 하고 싶은데 잘 되지 않아서요

https://sgcil.org/page/page07-03.php 여기는 제가 만든 페이지 입니다.

자원봉사를 원하는 분들이 편하게 들어와서 검색하고 확인을 하고 신청이 용이 하게 하고 싶어서 해 본건데 생각보다 어렵네요 ㅠㅠ


<article class="search-form">
            <form name="searchFrm" id="searchFrm" method="get" action="" onsubmit="search(); return false;">
                <input type="hidden" name="pageIndex" value="" />
                <h3 class="h3_bul3">원하는 조건을 선택하여 전국 자원봉사 정보를 조회 하실 수 있습니다.</h3>
                <ul>
                    <li style="width: 100%;">
                        <dl>
                            <dt><label for="searchHopeArea1">봉사 지역</label></dt>
                            <dd>
                                <div class="row" style="margin: -5px;">
                                    <div class="col col-6" style="padding: 5px;">
                                        <select id='searchHopeArea1' onchange="get_code(this);"  name="schSido" title="봉사지역 시/도 선택" style="width: 100%;">
                                            <option value="">전체</option>
                                            <option value="6110000" >서울특별시</option>
                                            <option value="6260000" >부산광역시</option>
                                            <option value="6270000" >대구광역시</option>
                                            <option value="6280000" >인천광역시</option>
                                            <option value="6290000" >광주광역시</option>
                                            <option value="6300000" selected>대전광역시</option>
                                            <option value="6310000" >울산광역시</option>
                                            <option value="5690000" >세종특별자치시</option>
                                            <option value="6410000" >경기도</option>
                                            <option value="6420000" >강원도</option>
                                            <option value="6430000" >충청북도</option>
                                            <option value="6440000" >충청남도</option>
                                            <option value="6450000" >전라북도</option>
                                            <option value="6460000" >전라남도</option>
                                            <option value="6470000" >경상북도</option>
                                            <option value="6480000" >경상남도</option>
                                            <option value="6500000" >제주특별자치도</option>
                                        </select>
                                    </div>
                                    <div class="col col-6" style="padding: 5px;">
                                        <label for="searchHopeArea1" class="d-none">구/군 선택</label>
                                        <select id='searchHopeArea2' name="schSign1" title="봉사지역 구/군 선택" setVal="3650000" style="width: 100%;">
                                            <option value="">선택</option>
                                        </select>
                                    </div>
                                </div>
                            </dd>
                        </dl>
                    </li>
                    <li style="width: 100%;">
                        <dl>
                            <dt><label for="searchHopeArea1">봉사 분야</label></dt>
                            <dd>
                                <div class="row" style="margin: -5px;">
                                    <div class="col col-6" style="padding: 5px;">
                                        <select id='searchHopeSrvc1' name="searchHopeSrvc1" title="봉사분야 대분류 선택" style="width: 100%;">
                                            <option value="">전체</option>
                                            <option value="0100">생활편의지원</option>
                                            <option value="0200">주거환경</option>
                                            <option value="0300">상담</option>
                                            <option value="0400">교육</option>
                                            <option value="0500">보건의료</option>
                                            <option value="0600">농어촌 봉사</option>
                                            <option value="0700">문화행사</option>
                                            <option value="0800">환경보호</option>
                                            <option value="0900">행정보조</option>
                                            <option value="1000">안전.예방</option>
                                            <option value="1100">공익.인권</option>
                                            <option value="1200">재해ㆍ재난</option>
                                            <option value="1300">국제협력.해외봉사</option>
                                            <option value="1400">멘토링</option>
                                            <option value="1500">기타</option>
                                            <option value="1700">자원봉사교육</option>
                                            <option value="1800">국제행사</option>                                    
                                        </select>
                                    </div>
                                    <div class="col col-6" style="padding: 5px;">
                                        <label for="searchHopeArea1" class="d-none">봉사분야 하위분류 선택</label>
                                        <select id='searchHopeSrvc2' name="searchHopeSrvc2" title="봉사지역 구/군 선택" setVal="3740000" style="width: 100%;">
                                            <option value="">전체</option>
                                        </select>
                                    </div>
                                </div>
                            </dd>
                        </dl>
                    </li>
                    <li>
                        <dl>
                            <dt>봉사자 유형</dt>
                            <dd>
                                <p class="checkIn">
                                    <input type="checkbox" id="typeCheck01" name="adultPosblAt" value="Y"  />
                                    <label for="typeCheck01">성인</label>
                                </p>
                                <p class="checkIn">
                                    <input type="checkbox" id="typeCheck02" name="yngbgsPosblAt" value="Y"  />
                                    <label for="typeCheck02">청소년</label>
                                </p>
                            </dd>
                        </dl>
                    </li>
                    <li>
                        <dl>
                            <dt scope="row"><label for="volunteer_keyword">봉사 제목</label></dt>
                            <dd><input type="text" id="volunteer_keyword" name="keyword" maxlength="20" id="" value="" placeholder="" style="width: 100%;" /></dd>
                        </dl>
                    </li>
                </ul>
                <div class="btnArea">
                    <input type="submit" title="설정한 검색 옵션으로 자원봉사정보 조회" value="조회하기" id="" />            
                </div>
            </form>
        </article>
        <?php
        $ch = curl_init();
        $url = 'http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrPartcptnItem'; /*URL*/
              //http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList
        $url='http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList';
        $queryParams = '?' . urlencode('ServiceKey') . '=4U6WdTrEX4UGz7wp2NJEu7uLmfyVPLAYsUNa3OEJMSJaTRF7pAZfi1Uw3%2FgHMsB0C22DJyRxAOKCaNolt8l%2Blw%3D%3D'; /*Service Key*/
        $queryParams .= '&' . urlencode('progrmRegistNo') . '=' . urlencode('1269076'); /**/
        $queryParams .="progrmBgnde=&progrmEndde=&schSido={$schSido}&schSign1={$schSign1}&pageNo=$page";
        curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_HEADER, FALSE);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        $response = curl_exec($ch);
        curl_close($ch);
        $xml= simplexml_load_string( $response);

        //echo json_encode( $xml->body->items);
        ?>
        <div class="bbs_list_info">
            <strong>전체 : <?php
         echo $xml->body->totalCount;?></strong> (<span><?php
         echo $xml->body->pageNo;?></span> / <?php
         echo ceil( $xml->body->totalCount/$xml->body->numOfRows); ?> page)
        </div>
        <ul class="volunteer-list"><?php
        $progrmSttusSe_set= array(
        '1'=>'<span>모집대기</span>',
        '2'=>'<span class="recruiting">모집중</span>',
        '3'=>'<span>모집완료</span>',
        );
        foreach( $xml->body->items->item as $item) {
            ?><li>
                <a href="<?=$item->url?>" target="_blank" title="이 모집공고 자세히 보기 - 새창으로 열기 ">
                    <div class="volunteer-list-title">
                        <strong class="volunteer-list-category">[<?=$item->srvcClCode?>]</strong>
                        <?=$item->progrmSj?>
                        (<?=$item->actBeginTm?>~<?=$item->actEndTm?>시)
                    </div>
                    <div class="volunteer-list-etc float-wrap">
                            <dl> <dt>모집기관</dt> <dd><?=$item->nanmmbyNm?></dd> </dl>
                        <dl> <dt>모집기간</dt> <dd><?=$item->noticeBgnde?> ~ <?=$item->noticeEndde?></dd> </dl>
                        <dl> <dt>봉사기간</dt> <dd><?=$item->progrmBgnde?> ~ <?=$item->progrmEndde?></dd> </dl>
                    </div>
                    <?=$progrmSttusSe_set[ (string)($item->progrmSttusSe)]?>
                </a>
            </li>
        <?php }  ?>
        </ul>
        <!-- 페이징 시작-->
        <div class="paging"><?php
        $page= $xml->body->pageNo;
        $total_page= ceil( $xml->body->totalCount/$xml->body->numOfRows);
        $xml->body->numOfRows;
         echo get_paging( 10, $page, $total_page,'?');
        ?></div>
        <!-- 페이징 끝 -->

        <script>
        function get_code( ethis){
                var kind= ethis.value;
                console.log( kind);
                $.ajax({
                    type: "GET",
                    url: "<?=G5_THEME_URL?>/pages/inc/code.php",
                    //url: "./code.php",
                    data: {
                        "sidoCd": encodeURIComponent( kind)
                    },
                    dataType: "json",
                    cache: false,
                    async: false,
                    success: function( jdata) {
                        console.log( jdata);
                        var next_select= $( '#searchHopeArea2');
                        next_select.html('<option value="0" > 선택</otion>');
                        //if( jdata.error=='ok') {
                                for( jj=0; jj<jdata.addrGugunList.length; jj++) {
                                        next_select.append($('<option></option>')
                        .attr('value', jdata.addrGugunList[jj].gugunCd)
                        //.attr( 'data-price',jdata.addrGugunList[jj].price)
                        .text(jdata.addrGugunList[jj].gugunNm));
                                }
                        //}
                    }
                });
                return false;
        }
        </script>
        <script>
        $(function() {
            $("#searchHopeArea1").val("<?=$schSido?>").trigger('change');
            $("#searchHopeArea2").val("<?=$schSign1?>");
            $("#searchHopeSrvc1").val("<?=$searchHopeSrvc1?>");
        });
        </script>

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

pagenation 에서 변수를 보내고 있지 않네요.

확인 해보세요.

 

실제 보내야 할 페이지...

https://sgcil.org/page/page07-03.php?pageIndex=&schSido=6110000&schSign1=3000000&searchHopeSrvc1=&searchHopeSrvc2=&keyword=&page=2

현재 검색후 pagenation에서 보내는 페이지...

https://sgcil.org/page/page07-03.php?page=2

검색 이런게 2페이지에 초기화된다는말인가여?

값을 페이징 넘길때 get으로 같이넘겨줘서 처리해줘야함

페이징 부분 넘어갈때 변수값에 page, 지역, 등등 같이 넘기고

get으로 받아서 if로 유무검사해서 처리

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

회원로그인

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