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

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

QA

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

답변 1

본문

구현하고자 하는 결과물

최신글에 보여지는 링크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로 작동하다 보니 쿼리 에러 값을 볼 수 없었는데 개발자도구 네트워크에서 확인할 수 있다는 걸 깜빡했네요 ㅎㅎ
그래도 덕분에 잊었던걸 생각하게 되어서 해결했습니다 ^^

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로