공공데이터 관련 질문 드립니다. 채택완료
이번에 제가 자원봉사센터 홈페이지를 무료로 제작을 해드렸습니다.
그런데 제가 하고 힢은 것은 현제 자원봉사정보를 좀 가져오려고 합니다. 그런데 만들기는 했는데 이상하게 시도 는 잘 됩니다. 그런데 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개
pagenation 에서 변수를 보내고 있지 않네요.
확인 해보세요.
실제 보내야 할 페이지...
현재 검색후 pagenation에서 보내는 페이지...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인