ajax 작동이 제대로 되지 않는데 어디가 잘못된 걸까요?

ajax 작동이 제대로 되지 않는데 어디가 잘못된 걸까요?

QA

ajax 작동이 제대로 되지 않는데 어디가 잘못된 걸까요?

본문

구현하고자 하는 결과물

최신글에 보여지는 링크1번을 클릭시 사전에 생성된 테이블(mwb_link_hit_table)에 필요값을 ajax로 insert 

 

latest.skin.php


<div id="mwb-split-9-9" class="container-9-9">
<?php
for ($i=0; $i<$list_count; $i++) {
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true, 'center', true, '100/2/5');
if($thumb['src']) {
$img = $thumb['src'];
if($thumb['alt']) {
$thumb['alt'] = $thumb['alt'];
} else {
$thumb['alt'] = $bo_subject.'-'.$i;
}
} else {
$noimage_thumb = thumbnail('mwb-image-no-image.png', MWB_IMG_PATH, MWB_IMG_PATH, $thumb_width, $thumb_height, false, true);
$img = MWB_IMG_URL.'/'.$noimage_thumb;
$thumb['alt'] = '이미지가 없습니다.';
}
$wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);
?>
<?php
for ($k=1; $k<=G5_LINK_COUNT; $k++) {
if ($list[$i]['link'][$k]) {
//$list[$i]['link'][$k] = set_http(get_text($list[$i]['link'][$k])); // 링크값을 표시할 때 사용
$list[$i]['link_href'][$k] = G5_BBS_URL.'/link.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&no='.$k.$qstr;
// echo '<a href="'.$list[$i]['link_href'][$k].'" target="_blank">링크 '.$k.'</a>';
}
}
?>
<div class="equal-item">
<div class="mwb-bg-cover" style="background-image: url(<?php echo $img ?>);">
<a href="<?php echo $list[$i]['link_href'][1] ?>" class="" target="_blank" onclick="return fn_sendCounsel_<?php echo $list[$i]['wr_id'] ?>();">
<h2 class="equal-item-subject"><?php echo $list[$i]['subject']; ?></h2>
</a>
</div>
</div>
<script>
function fn_sendCounsel_<?php echo $list[$i]['wr_id'] ?>() {
$.ajax({
url: "<?php echo $latest_skin_url;?>/mwb.ajax.link.hit.php",
data: {
"wr_id" : "<?php echo $list[$i]['wr_id'] ?>",
"bo_table" : "<?php echo $board['bo_table']; ?>",
"lh_date" : "<?php echo G5_TIME_YMD ?>",
"lh_time" : "<?php echo G5_TIME_HIS ?>",
},
type: "POST",
dataType: "json",
success: function(data){
console.log(data)
},
error : function(data) {
console.log(data);
}
});
}
</script>
<?php } ?>
</div>

 

mwb.ajax.link.hit.php


<?php
include_once($_SERVER['DOCUMENT_ROOT'] .'/common.php');
 
global $board;
 
$wr_id = trim($_POST['wr_id']); // wr_id
$bo_table = trim($_POST['bo_table']); // table
$lh_date = trim($_POST['lh_date']); // lh_date
$lh_time = trim($_POST['lh_time']); // lh_time
 
$mwb_link_hit_table = 'mwb_link_hit_'.$board['bo_table'];
 
$tmp_row = sql_fetch(" select max(lh_id) as max_vi_id from {$g5['visit_table']} ");
$lh_id = $tmp_row['max_vi_id'] + 1;
 
$sql = " insert into {$mwb_link_hit_table}
set lh_id = '$lh_id',
wr_id = '$wr_id',
lh_date = '$lh_date',
lh_time = '$lh_time' ";
sql_query($sql);

 

최신글에서 게시글 클릭시 해당 게시물로 넘어가지 않고 게시물의 wr_link1의 URL로 새창이동을 합니다.

대신 새로 작성한 mwb_link_hit_table 테이블에 한줄씩 insert되고자 하는게 목표인데 

ajax에 대한 지식이 짧아 테이블에 입력이 안되고 있네요.

어디가 잘못된 것인지 지적 부탁드립니다.

 

참고로 해당 테이블은 각 게시판에서 아래와 같이 사전에 생성하고 있습니다.


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
global $board;
 
$mwb_link_hit_table = 'mwb_link_hit_'.$board['bo_table'];
 
// 링크 히트 관리 테이블 없을 경우 생성
if( isset($mwb_link_hit_table) && !sql_query(" DESC {$mwb_link_hit_table} ", false)) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$mwb_link_hit_table}` (
`lh_id` int(11) NOT NULL DEFAULT '0',
`wr_id` int(11) NOT NULL DEFAULT '0',
`lh_date` date NOT NULL default '0000-00-00',
`lh_time` time NOT NULL default '00:00:00',
PRIMARY KEY (`lh_id`),
UNIQUE KEY `index1` (`lh_date`),
KEY `lh_date` (`lh_date`)
) ", true);
}

 

이 질문에 댓글 쓰기 :

답변 1

insert 되는 부분에 

sql_query($sql,true); => true 설정으로 입력하는 부분에 에러가 발생하는지 부터 확인해 보세요. 

 

ajax로 작동하다 보니 쿼리 에러 값을 볼 수 없었는데 개발자도구 네트워크에서 확인할 수 있다는 걸 깜빡했네요 ㅎㅎ
그래도 덕분에 잊었던걸 생각하게 되어서 해결했습니다 ^^

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

회원로그인

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