죄송하지만 다시 질문 드릴께요~

죄송하지만 다시 질문 드릴께요~

QA

죄송하지만 다시 질문 드릴께요~

본문

게시판 제목 클릭시 view.skin.php가 아닌 리스트 페이지 자체에서
모덜 팝업 레이어를 띄우고 레이어 안에 제목을 클릭한 내용을 보여주려고 해요...
우선 모덜 팝업까지는 했는데 레이어에선 게시판 DB 테이블의 처음 저장한 값만 보여지네요..


array를 json_encode(~~);로 하면 된다는데 결과는 똑같거든요..
소스를 올려볼테니 무엇이 잘못 되었는지 무엇이 빠져 있는지 혹시 알려주시면 안될까요??


-- list.skin.php --

 <a href="<?php echo $list[$i]['href'] ?>" class="btn-example" onclick="layer_open('layer2');return false;"><?php echo $wr_subject ?></a>
위 소스는 list.skin.php에 제목 출력하는 라인에 있는 거구요..class와 onclick 이벤트가
모덜 팝업에 사용되는 것 이에요..

<?include_once($board_skin_path.'/div_view.php'); ?> // 모덜팝업 안의 레이어 내용들이구요   

 

 

-- div_view.php --

이곳이 바로 게시판 제목을 클릭하면 그 제목을 db에서 추출하여 보여줄 페이지 입니다.  

 

<?php
include_once('./_common.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<link rel="stylesheet" type="text/css" href="../css/view_table.css">
<link rel="stylesheet" type="text/css" href="../css/view_layout.css">
<script type="text/javascript">
function layer_open(el,sub){
var temp = $('#' + el);
var bg = temp.prev().hasClass('bg'); //dimmed 레이어를 감지하기 위한 boolean 변수

if(bg){

$('.layer').fadeIn(); //'bg' 클래스가 존재하면 레이어가 나타나고 배경은 dimmed 된다.
}else{
temp.fadeIn();
}

// 화면의 중앙에 레이어를 띄운다.
if (temp.outerHeight() < $(document).height() ) temp.css('margin-top', '-'+temp.outerHeight()/2+'px');
else temp.css('top', '0px');
if (temp.outerWidth() < $(document).width() ) temp.css('margin-left', '-'+temp.outerWidth()/2+'px');
else temp.css('left', '0px');

temp.find('a.cbtn').click(function(e){
if(bg){
$('.layer').fadeOut(); //'bg' 클래스가 존재하면 레이어를 사라지게 한다.
}else{
temp.fadeOut();
}
e.preventDefault();
});

$('.layer .bg').click(function(e){ //배경을 클릭하면 레이어를 사라지게 하는 이벤트 핸들러
$('.layer').fadeOut();
e.preventDefault();
}); 
var datas = viewpage();
}

function viewpage(val) {
    var bo_table = '<?php echo $bo_table?>';
    var sca = '<?php echo $sca?>';
var wr_subject = '<?php echo $wr_subject?>';
var wr_1 = '<?php echo $wr_1?>';
var wr_2 = '<?php echo $wr_2?>';

$.ajax({
type: 'POST',
url: g5_bbs_url+'/ajax.wr_view.php', // 아래 소스 참조 부탁드립니다.
dataType : 'json',
data: {
wr_subject: wr_subject,
bo_table: bo_table,
sca: sca,
wr_1: wr_1,
    wr_2: wr_2
},
success: function(data) {
$('#wr_subject').val(data.wr_subject);
$('#wr_1').val(data.wr_1);
$('#wr_2').val(data.wr_2);
$('#wr_4').val(data.ca_name);

}
});
}
</script>



</head>

<body>

<div class="layer">
<div class="bg"></div>
<div class="pop-layer" id="layer2">
<div class="pop-container">
<div class="pop-conts">
<!--content //-->

<table width="100%" cellspacing='0' > <!-- cellspacing='0' is important, must stay -->

<!-- Table Header -->
<thead>
<tr>
<th colspan='3'>Model Name : <input type='text' id='wr_subject' name='wr_subject'></th>
</tr>
</thead>
<!-- Table Header -->

<!-- Table Body -->
<tbody>

<tr>
<td>번호</td>
<td><input type='text' id='wr_1' name='wr_1'></td>
</tr><!-- Table Row -->

<tr>
<td>코드</td>
<td><input type='text' id='wr_2' name='wr_2'></td>
</tr><!-- Table Row -->


<tr>
<td>RACK</td>
<td><input type='text' id='wr_4' name='wr_4'></td>
</tr><!-- Table Row -->



</tbody>
<!-- Table Body -->

</table>
<div class="btn-r">
<a class="cbtn" href="#">Close</a>
</div>
<!--// content-->
</div>
</div>
</div>
</div>

<div id="view" style="display:none;">

</div>

<!--모달윈도우부분-->
<script type="text/javascript">
$(function(){
 
  $('#modaltrigger').leanModal({ top: 110, overlay: 0.85, closeButton: ".hidemodal" });
});
</script>
<!--//모달윈도우부분-->

</body>
</html>

-- ajax.wr_view.php--

<?php

include_once('./_common.php');

$wr_subject = $_POST['wr_subject'];
$wr_1 = $_POST['wr_1'];
$wr_2 = $_POST['wr_2'];
$bo_table = $_POST['bo_table'];
$sca = $_POST['sca'];

$row = sql_fetch(" select * from $write_table where wr_subject='$wr_subject' and ca_name='$sca'" );
$row2 = sql_fetch(" select count(*) as cnt from $write_table where wr_subject='$wr_subject' and ca_name='$ca_name'" );


$wr_1 = $row['wr_1'];
$wr_2 = $row['wr_2'];
$wr_subject = $row['wr_subject'];
$ca_name = $row['ca_name'];

$data = array('wr_1' => $wr_1, 'wr_2' => $wr_2, 'wr_subject' => $wr_subject, 'ca_name' => $ca_name);
echo json_encode($data);

?>  

이 질문에 댓글 쓰기 :

답변 1

ajax로 리턴하는 배열이 php배열이고 받는쪽은 js배열이니 안되는거 같습니다.

리턴할때 json으로 배열을 인코딩하시고 받는쪽 ajax에서 json으로 받으셔야 할거 같네요

 

그렇지 않으면 그냥 페이지를 html로 코딩후에 html로 리턴을 받으세요

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

회원로그인

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