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

구현하고자 하는 결과물

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

 

latest.skin.php

Copy
<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.'&amp;wr_id='.$list[$i]['wr_id'].'&amp;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

Copy
<?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에 대한 지식이 짧아 테이블에 입력이 안되고 있네요.

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

 

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

Copy
<?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개

채택된 답변
+20 포인트

insert 되는 부분에 

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

 

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

답변에 대한 댓글 1개

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

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

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

로그인
🐛 버그신고