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

자바스크립트 안에서의 php변수 채택완료

토루크막토 7년 전 조회 2,968

안녕하세요.

 

제작된 소스를 수정중에 질문이 생겨 고수분들께 도움을 요청드리고자 합니다.

 

아래와 같이 스크립트 구문안에 for 문이 있습니다.

 

</p>

<p>function poom_load_map(lat, lng, limit){

  $(".poom_ul_area").html("");

  $.ajax({

   type     : "get",

   url      : "/json.php",

   data     : "mode=map&lat="+lat+"&lng="+lng+"&limit="+limit,

   dataType : 'json',

   cache: false,</p>

<p>success  : function(data) {

 for(var i=0; i<data.data.length; i++) {

  var li_str = "<li data-lng='"+ data.data[i].wr_4 +"' data-lat='"+ data.data[i].wr_5 +"'>";

  li_str += "<div>";

  li_str += "<div>"+data.data[i].wr_rank+"</div>";

  li_str += "<a href='/bbs/board.php?bo_table=clinic&wr_id="+data.data[i].wr_id+"'>"+data.data[i].wr_subject+"</a>";

  li_str += "<div>"+data.data[i].wr_2+"</div>";

  li_str += "<img src='"+data.data[i].thumb_big+"' style='width:100%;'>";

  li_str += "</div>";

  <?php

  $rel_skin_file = $skin_dir.'/relation.11.skin.php';

  if(!is_file($rel_skin_file))

   $rel_skin_file = G5_SHOP_SKIN_PATH.'/relation.11.skin.php';</p>

<p>  $sql = " select * from {$g5['g5_shop_item_table']} where  it_use = '1' and it_1 = '$data[$i][wr_id]' ";

  $list = new item_list($rel_skin_file, 4, 0, 80, 80);

  $list->set_query($sql);

  echo $list->run();

  ?>

  li_str += "</li>";

  $(".poom_ul_area").append(li_str);

 }

},</p>

<p>

 

스크립트안에 18번째줄부터 php가 들어 가는데요...

위 소스 중 22번째 줄의

$sql = " select * from {$g5['g5_shop_item_table']} where  it_use = '1' and it_1 = '$data[$i][wr_id]' ";

이 라인에서 맨 끝 부분의 $data[$i][wr_id]를 어떻게 바꿔서 써야 되는지 모르겠습니다.

 

php 구문이 아니라면 data.data[i].wr_id 라고 쓰면 맞는 것 같은데 이걸 쓰면 안되는 것 같고

$data.data[i].wr_id 라고 써도 안되고

$opt[wr_id]도 안되고

$opt[$i][wr_id]도 안되고 ㅠ_ㅠ

이거저거 통박으로다 찍어서 넣어봐도 다 않되네요.

 

 

위 스크립트와 연결된 php 파일은 아래와 같은 내용입니다.

 

</p>

<p>  $i = 1;

  while($opt = sql_fetch_array($que)){</p>

<p>  $img = get_list_thumbnail("clinic", $opt['wr_id'], 50, 50, false, true);

  $img_big = get_list_thumbnail("clinic", $opt['wr_id'], 200, 150, false, true,"","","","1");

  $img_content = $img['src'];

  $img_big_content = $img_big['src'];</p>

<p>     

  $data[] = array(

   'wr_rank' => $i,

   'wr_subject' => $opt[wr_subject],

   'wr_1' => $opt[wr_1],

   'wr_2' => $opt[wr_2],

   'wr_4' => $opt[wr_4],

   'wr_5' => $opt[wr_5],

   'clinic_address' => $opt[clinic_address],</p>

<p>   'thumb' => $img_content,

   'thumb_big' => $img_big['src'],

 </p>

<p>   'distance' => round($opt[distance],2),

   'wr_id' => $opt[wr_id]

  );

  $i++;

 }</p>

<p>

 

 

전체적인 소스의 내용은

clinic이라는 게시판에 있는 게시물을 지도에 표시해주는데 (wr_4, wr_5에 위도 경도 기록됨)

영카트 item 중 it_1 여분필드에 clinic의 wr_id 가 기록된 상품을 추출해서 보여주길 원하는 소스입니다.

 

 

 

감사합니다.

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

답변 2개

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

ajax를 조금 잘못쓰신것같습니다

 

php구문의 경우 ajax를이용할때 넘어간 경로(url)에서 처리되어야하지

 

저기서 처리될 내용이 아닌것같은데요

 

json.php에서 먼저 처리하고 처리된값을 받아오는게 맞을것같습니다

 

$list->run()의 출력값이 정상적으로 출력할 수만 있다면 문제는 없을듯합니다

 

javascript의 변수에 php값을 넣는건 쉬우나 php변수에 javascript변수를 넣는건 힘들거든요.... 다시 생각하셔야할것같습니다

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

답변에 대한 댓글 3개

토루크막토
7년 전
아....그런거 였나요 ㅠ_ㅠ

<?php
$rel_skin_file = $skin_dir.'/relation.map.skin.php';
if(!is_file($rel_skin_file))
$rel_skin_file = G5_SHOP_SKIN_PATH.'/relation.map.skin.php';

$sql = " select * from {$g5['g5_shop_item_table']} where it_use = '1' and it_1 = '$data[wr_id]' ";
$list = new item_list($rel_skin_file, 4, 0, 80, 80);
$list->set_query($sql);
echo $list->run();
?>
중간에 위 소스는 제가 대충 잔머리 굴려서 넣어 본 거였거든요.ㅠㅠ

'$data[wr_id]' 이 부분에 숫자 2 같은 것을 넣어보면
wr_id 값이 2인 상품들을 잘 추출해 오길래 이 부분만 잘 바꿔주면 될 줄 알았습니다.

답변 주셔서 감사드립니다. ㅠ_ㅠ
P
Policia
7년 전
네 해당소스를 data[] 에 넣기만 하면 출력은 어려울게없을듯합니다

조금만 응용해보세요 ㅎㅎ
토루크막토
7년 전
하하;;;;
실력있는 분들은 응용을 하시겠지만
저같은 문외한은 찍어서 맞춰야 하기에 불가능합니다...ㅎㅎㅎㅎ


ㅠㅠㅠㅠ

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

changkyounko

jquery 에서 php 코딩을 하신것 같아요.

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

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

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

로그인