채택완료

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

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'] );

 

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

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

저렇게 넣을시는 안됩니다 

 

 

 

Copy
<?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 = "https://openapi.naver.com/v1/search/shop.xml"; 
 $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파일에서 원하는 항목만 추출하기 http://search.naver.comNaver 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>

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

   <div class="rl">
  <p class="tx102">'.$item->mallName. '</p> 
      </div>
      </div> 
     </li>
    </ul> 
              </div> 
              '      
      ; 
} 
} 
                      
?>
|

답변 2개 / 댓글 13개

채택된 답변
+20 포인트

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

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

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

 

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

 

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

 

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

답변에 대한 댓글 9개

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

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

부분은 제대로 넣으셨겠죠?
네 상단에

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

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

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

이부분을

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

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