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

소스코드 명확하게 답변좀 부탁드릴게요 ㅠㅠ 채택완료

코딩초보1 7년 전 조회 3,044

http://amina.co.kr/bbs/board.php?bo_table=tip&wr_id=4148" rel="nofollow noreferrer noopener" target="_blank">http://amina.co.kr/bbs/board.php?bo_table=tip&wr_id=4148

위소스를 이용할려고하는데요 

 

검색하는부분을 여분필드로 불러와서 자동으로 불러와지게끔 하고싶은데요 

view.skin.php 스킨에서 이용할려고하는데요 

여분필드를 못불러오는데 

여러번 질문을 올렸는데 아직 답을 못찾았습니다 

 

$sql = "select wr_18 from g5_write_hardbait where wr_id='".$wr_id."' ";  $view = sql_fetch($sql);  urlencode($view['wr_18'] );

 

이렇게 변경을 했는데도 왜 안되는건지 시원하게 답변좀 주실분 없으실까요

위 빨간색 부분이 저기안에 한글단어 넣으면 자동으로 네이버 쇼핑 가지고 오게 되는데

저렇게 넣을시는 안됩니다 

 

 

 

</p>

<p><?php 

@header("Cache-Control:no-cache, must-revalidate"); 

@header("Content-Type: text/html; charset=utf-8"); 

class NaverProxy { 

  public function queryNaver($query, $target) { 

  $client_id = "비번생략"; 

  $client_secret = "비번생략"; 

$sql = "select wr_18 from g5_write_hardbait where wr_id='".$wr_id."' "; 

$view = sql_fetch($sql); 

urlencode($view['wr_18'] );

$target="shop"; 

 $url = "<a href="https://openapi.naver.com/v1/search/shop.xml"; " target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/search/shop.xml"; </a>

 $url = sprintf("%s?query=%s&display=10&start=1&sort=sim&target=shop&", $url, $query); 

 $is_post = true; 

 $ch = curl_init(); 

 curl_setopt($ch, CURLOPT_URL, $url); 

// curl_setopt($ch, CURLOPT_GET, $is_post); 

 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

 $headers = array(); 

 $headers[] = "X-Naver-Client-Id: ".$client_id; 

 $headers[] = "X-Naver-Client-Secret: ".$client_secret; 

 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

 $data = curl_exec ($ch); 

 curl_close ($ch); 

 return $data; 

  } 

} 

$naverproxy = new NaverProxy(); 

// XML파일에서 원하는 항목만 추출하기 <a href="http://search.naver.comNaver" target="_blank" rel="noopener noreferrer">http://search.naver.comNaver</a> Search ResultThu, 25 Jan 2018 13:05:39 +09001764410110 

//echo $naverproxy -> queryNaver($_POST['query'], $_POST['target']); 

$xmlstring = $naverproxy -> queryNaver($_POST['query'], $_POST['target']); 

$xml = simplexml_load_string($xmlstring) or die("에러: 객체를 생성할 수 없습니다"); 

$items = $xml->channel->item; 

if(!empty($items)){ 

foreach($items as $item){  

    echo ' 

    <div class="shop_view"> 

    <ul>

  

  <li>

  <a href="' . $item->link . '" target="_blank">

  <div class="le">

  <img src='. $item->image . ' width="80px" height="80px" /></a>

  </div>

  <div class="ri">

  <p class="tx103">'. $item->title . '</p></p>

<p>  <div class="tl">

   <span class="tx101">'. $item->lprice. '원 </span>   

   </div></p>

<p>   <div class="rl">

  <p class="tx102">'.$item->mallName. '</p> 

      </div>

      </div> 

     </li>

    </ul> 

              </div> 

              '      

      ; 

} 

} 

                      

?> </p>

<p>

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

답변 2개

채택된 답변
+20 포인트
Policia
7년 전

$sql = "select wr_18 from g5_write_hardbait where wr_id='".$wr_id."' "; 

$view = sql_fetch($sql); 

이부분을 삭제하시구요

 

$query=urlencode($view['wr_18'] ); 이부분은

 

$query=urlencode($query); 로 바꾸시구요

 

$sql = "select wr_18 from g5_write_hardbait where wr_id='".$wr_id."' "; 

$view = sql_fetch($sql); 

$xmlstring = $naverproxy -> queryNaver($view['wr_18'], 'shop');

이부분 윗쪽에 아까 삭제했던 쿼리문을 넣어주세요

 

이렇게 한번해보세요

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

답변에 대한 댓글 4개

코딩초보1
7년 전
와 됩니다 ㅜㅜ 너무감사합니다 정말
코딩초보1
7년 전
정말정말 너무감사합니다
P
Policia
7년 전
네 그냥 클래스를 안보고있었네요 ㅋㅋ 클래스 보이니깐 문제가 딱보이네욤
코딩초보1
7년 전
다시한번 정말로 너무감사합니다

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

Policia
7년 전

어고 지금 봤는데 urlencode로 인코드하고 따로 변수에 안담아주셨네요

 

$query=urlencode($view['wr_18'] );

 

위에 보여주신 링크보시면 이렇게 변수에 담아서 curl쓰는걸 보실수있습니다

 

당연히 저상태로는 변수에 담기지도않고 그냥 $view['wr_18']을 인코드만할뿐이지 인코드한걸 그어디에도 담지않아서 아무 동작을 할수없었던것같네요

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

답변에 대한 댓글 9개

코딩초보1
7년 전
$query=urlencode($view['wr_18'] );
이렇게 넣어도 작동은 안하네요 ㅠㅠ 아고
P
Policia
7년 전
그럼 하나하나 짚어가봐야죰.. 상단에 common.php 파일은 인클루드 되어있으신가요?
P
Policia
7년 전
네이버에서 발급받은

$client_id = "발급받은 client_id";
$client_secret = "발급받은 client_secret";

부분은 제대로 넣으셨겠죠?
코딩초보1
7년 전
네 상단에

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
include_once('./_common.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>

이렇게 넣었습니다
코딩초보1
7년 전
네 발급받은 부분은 다잘넣어서 상품 나오는것까지 확인했습니다
P
Policia
7년 전
echo $view['wr_18']; 하셔서 나오는값이 정상적인지도 한번확인해보세요
코딩초보1
7년 전
echo $view['wr_18'];
할시 정상 출력 되고있습니다
P
Policia
7년 전
오류메세지는 안뜨시나요? 그냥 안뜨시는거에요?

$xmlstring = $naverproxy -> queryNaver($_POST['query'], $_POST['target']);

이부분을

$xmlstring = $naverproxy -> queryNaver($view['wr_8'], 'shop'); 이렇게 바꿔보세요
(아미나 댓글 참고)
P
Policia
7년 전
아 아니다 잠시만요

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

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

로그인