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

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

무와보 4년 전 조회 3,393

구현하고자 하는 결과물

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

 

latest.skin.php

</p>

<p><div id="mwb-split-9-9" class="container-9-9"></p>

<p><?php</p>

<p>for ($i=0; $i<$list_count; $i++) {</p>

<p>$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true, 'center', true, '100/2/5');</p>

<p>if($thumb['src']) {</p>

<p>$img = $thumb['src'];</p>

<p>if($thumb['alt']) {</p>

<p>$thumb['alt'] = $thumb['alt'];</p>

<p>} else {</p>

<p>$thumb['alt'] = $bo_subject.'-'.$i;</p>

<p>}</p>

<p>} else {</p>

<p>$noimage_thumb = thumbnail('mwb-image-no-image.png', MWB_IMG_PATH, MWB_IMG_PATH, $thumb_width, $thumb_height, false, true);</p>

<p>$img = MWB_IMG_URL.'/'.$noimage_thumb;</p>

<p>$thumb['alt'] = '이미지가 없습니다.';</p>

<p>}</p>

<p>$wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);</p>

<p>?></p>

<p><?php</p>

<p>for ($k=1; $k<=G5_LINK_COUNT; $k++) {</p>

<p>if ($list[$i]['link'][$k]) {</p>

<p>//$list[$i]['link'][$k] = set_http(get_text($list[$i]['link'][$k])); // 링크값을 표시할 때 사용</p>

<p>$list[$i]['link_href'][$k] = G5_BBS_URL.'/link.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&no='.$k.$qstr;</p>

<p>// echo '<a href="'.$list[$i]['link_href'][$k].'" target="_blank">링크 '.$k.'</a>';</p>

<p>}</p>

<p>}</p>

<p>?></p>

<p><div class="equal-item"></p>

<p><div class="mwb-bg-cover" style="background-image: url(<?php echo $img ?>);"></p>

<p><a href="<?php echo $list[$i]['link_href'][1] ?>" class="" target="_blank" onclick="return fn_sendCounsel_<?php echo $list[$i]['wr_id'] ?>();"></p>

<p><h2 class="equal-item-subject"><?php echo $list[$i]['subject']; ?></h2></p>

<p></a></p>

<p></div></p>

<p></div></p>

<p><script></p>

<p>function fn_sendCounsel_<?php echo $list[$i]['wr_id'] ?>() {</p>

<p>$.ajax({</p>

<p>url: "<?php echo $latest_skin_url;?>/mwb.ajax.link.hit.php",</p>

<p>data: {</p>

<p>"wr_id" : "<?php echo $list[$i]['wr_id'] ?>",</p>

<p>"bo_table" : "<?php echo $board['bo_table']; ?>",</p>

<p>"lh_date" : "<?php echo G5_TIME_YMD ?>",</p>

<p>"lh_time" : "<?php echo G5_TIME_HIS ?>",</p>

<p>},</p>

<p>type: "POST",</p>

<p>dataType: "json",</p>

<p>success: function(data){</p>

<p>console.log(data)</p>

<p>},</p>

<p>error : function(data) {</p>

<p>console.log(data);</p>

<p>}</p>

<p>});</p>

<p>}</p>

<p></script></p>

<p><?php } ?></p>

<p></div></p>

<p>

 

mwb.ajax.link.hit.php

</p>

<p><?php</p>

<p>include_once($_SERVER['DOCUMENT_ROOT'] .'/common.php');</p>

<p> </p>

<p>global $board;</p>

<p> </p>

<p>$wr_id = trim($_POST['wr_id']); // wr_id</p>

<p>$bo_table = trim($_POST['bo_table']); // table</p>

<p>$lh_date = trim($_POST['lh_date']); // lh_date</p>

<p>$lh_time = trim($_POST['lh_time']); // lh_time</p>

<p> </p>

<p>$mwb_link_hit_table = 'mwb_link_hit_'.$board['bo_table'];</p>

<p> </p>

<p>$tmp_row = sql_fetch(" select max(lh_id) as max_vi_id from {$g5['visit_table']} ");</p>

<p>$lh_id = $tmp_row['max_vi_id'] + 1;</p>

<p> </p>

<p>$sql = " insert into {$mwb_link_hit_table}</p>

<p>set lh_id = '$lh_id',</p>

<p>wr_id = '$wr_id',</p>

<p>lh_date = '$lh_date',</p>

<p>lh_time = '$lh_time' ";</p>

<p>sql_query($sql);</p>

<p>

 

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

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

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

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

 

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

</p>

<p><?php</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p> </p>

<p>global $board;</p>

<p> </p>

<p>$mwb_link_hit_table = 'mwb_link_hit_'.$board['bo_table'];</p>

<p> </p>

<p>// 링크 히트 관리 테이블 없을 경우 생성</p>

<p>if( isset($mwb_link_hit_table) && !sql_query(" DESC {$mwb_link_hit_table} ", false)) {</p>

<p>sql_query(" CREATE TABLE IF NOT EXISTS `{$mwb_link_hit_table}` (</p>

<p>`lh_id` int(11) NOT NULL DEFAULT '0',</p>

<p>`wr_id` int(11) NOT NULL DEFAULT '0',</p>

<p>`lh_date` date NOT NULL default '0000-00-00',</p>

<p>`lh_time` time NOT NULL default '00:00:00',</p>

<p>PRIMARY KEY (`lh_id`),</p>

<p>UNIQUE KEY `index1` (`lh_date`),</p>

<p>KEY `lh_date` (`lh_date`)</p>

<p>) ", true);</p>

<p>}</p>

<p>

 

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

답변 1개

채택된 답변
+20 포인트

insert 되는 부분에 

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

 

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

답변에 대한 댓글 1개

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

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

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

로그인