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

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

QA

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

본문

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

 

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

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

저렇게 넣을시는 안됩니다 

 

 

 


<?php 
("Cache-Control:no-cache, must-revalidate"); 
("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

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

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

 

이렇게 한번해보세요

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

 

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

 

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

 

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

네 상단에

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

이렇게 넣었습니다

오류메세지는 안뜨시나요? 그냥 안뜨시는거에요?

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

이부분을

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

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

회원로그인

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