테스트 사이트 - 개발 중인 베타 버전입니다

공공데이터 관련 질문 드립니다. 채택완료

꿈의세계 1년 전 조회 2,077

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

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

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

이걸 토대로 했구요 

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

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

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

</strong></p>

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

<p>        <?php</p>

<p>        $ch = curl_init();

        $url = '<a href="http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrPartcptnItem';" target="_blank" rel="noopener noreferrer">http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrPartcptnItem';</a> /*URL*/

              //<a href="http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList" target="_blank" rel="noopener noreferrer">http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList</a>

        $url='<a href="http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList';" target="_blank" rel="noopener noreferrer">http://openapi.1365.go.kr/openapi/service/rest/VolunteerPartcptnService/getVltrSearchWordList';</a>

        $queryParams = '?' . urlencode('ServiceKey') . '=4U6WdTrEX4UGz7wp2NJEu7uLmfyVPLAYsUNa3OEJMSJaTRF7pAZfi1Uw3%2FgHMsB0C22DJyRxAOKCaNolt8l%2Blw%3D%3D'; /*Service Key*/

        $queryParams .= '&' . urlencode('progrmRegistNo') . '=' . urlencode('1269076'); /**/

        $queryParams .="progrmBgnde=&progrmEndde=&schSido={$schSido}&schSign1={$schSign1}&pageNo=$page";</p>

<p>        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);</p>

<p>        $xml= simplexml_load_string( $response);</p>

<p>

        //echo json_encode( $xml->body->items);</p>

<p>        ?>

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

<p>        <ul class="volunteer-list"><?php</p>

<p>        $progrmSttusSe_set= array(

        '1'=>'<span>모집대기</span>',

        '2'=>'<span class="recruiting">모집중</span>',

        '3'=>'<span>모집완료</span>',

        );</p>

<p>        foreach( $xml->body->items->item as $item) {</p>

<p>            ?><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></p>

<p>        <!-- 페이징 시작-->

        <div class="paging"><?php</p>

<p>        $page= $xml->body->pageNo;

        $total_page= ceil( $xml->body->totalCount/$xml->body->numOfRows);

        $xml->body->numOfRows;</p>

<p>         echo get_paging( 10, $page, $total_page,'?');</p>

<p>        ?></div>

        <!-- 페이징 끝 --></p>

<p>

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

<p>        <script>

        $(function() {

            $("#searchHopeArea1").val("<?=$schSido?>").trigger('change');

            $("#searchHopeArea2").val("<?=$schSign1?>");

            $("#searchHopeSrvc1").val("<?=$searchHopeSrvc1?>");

        });

        </script></p>

<p><strong>

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
R
1년 전

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

cuwaaang
1년 전

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

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인