채택완료
리스트에서 링크 클릭 시 뷰페이지에 안가고 조회수 증가하는 방법이 있을까요?
리스트에서 해당 게시글 클릭 시 뷰페이지에 안가고 조회수 증가하는 방법이 있을까요?
지금 게시판 자체가 유튜브 팝업형 플로터로 되어있는데, 현재는 뷰페이지로 들어가야만 조회수가 오르는 상태여서요.. 가능한 방법을 참조할만한게 있을까요?
답변 1개 / 댓글 4개
채택된 답변
+20 포인트
마르스컴퍼니
2021-06-03 (목) 17:35:21
ajax 로 처리해야 될 듯 합니다.
1) [스킨 디렉토리]/list.skin.php
Copy
$(".popyt").click(function() {
var _bo = '<?php echo $bo_table ?>';
var _id = '<?php echo $wr_id ?>';
$.ajax({
url: '<?php echo $board_skin_url ?>/ajax_hit.php',
type: 'POST',
data: {bo_table : _bo, wr_id : _id},
success: function(data) {
//alert(data);
}
});
~
2) [스킨디렉토리]/ajax_hit.php (파일생성)
Copy
include_once('../../../common.php'); // 경로 중요
$write_table = $g5['write_prefix'] . $bo_table;
$result = sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
echo $result;
답변에 대한 댓글 4개
qoqofh
2021-06-03 (목) 18:06:03
마르스컴퍼니
2021-06-03 (목) 18:10:09
'1' 은 true 의 의미이고, 쿼리 실행은 오류없이 정상적으로 되었다는 의미입니다.
쿼리는 정상적으로 실행이 되었지만.. 조회수는 오르지 않았다면..
sql문을 확인해 보는 것이 좋습니다.
$result = sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
->
echo " update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ";
$result = sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
로 수정한 뒤,
브라우저에서 [사이트주소]/skin/board/~/ajax.hit.php 로 접속하여 sql문을 확인해 볼 수 있습니다.
쿼리는 정상적으로 실행이 되었지만.. 조회수는 오르지 않았다면..
sql문을 확인해 보는 것이 좋습니다.
$result = sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
->
echo " update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ";
$result = sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
로 수정한 뒤,
브라우저에서 [사이트주소]/skin/board/~/ajax.hit.php 로 접속하여 sql문을 확인해 볼 수 있습니다.
qoqofh
2021-06-03 (목) 18:13:32
update g5_write_ set wr_hit = wr_hit + 1 where wr_id = '0'
정상작동 되고있는거 아닌가요 ..?
정상작동 되고있는거 아닌가요 ..?
마르스컴퍼니
2021-06-03 (목) 18:21:14
wr_id 가 넘어가지 않았습니다.
관련해서 다음 부분을 추가/수정해야 될 듯 합니다.
<a data-video="<? echo $list[$i]['wr_10'];?>" class="popyt mov_b2" style="cursor:pointer;">
->
<a data-video="<? echo $list[$i]['wr_10'];?>" data-wr_id="<?php echo $list[$i]['wr_id'] ?>" class="popyt mov_b2" style="cursor:pointer;">
var _id = '<?php echo $wr_id ?>';
->
var _id = $(this).data('wr_id');
관련해서 다음 부분을 추가/수정해야 될 듯 합니다.
<a data-video="<? echo $list[$i]['wr_10'];?>" class="popyt mov_b2" style="cursor:pointer;">
->
<a data-video="<? echo $list[$i]['wr_10'];?>" data-wr_id="<?php echo $list[$i]['wr_id'] ?>" class="popyt mov_b2" style="cursor:pointer;">
var _id = '<?php echo $wr_id ?>';
->
var _id = $(this).data('wr_id');
답변을 작성하려면 로그인이 필요합니다.
이걸로 확인해 보았는데 alert로 1이라는 알림이뜨고 조회수는 오르지 않는데 무엇이 문제일까요 ㅠㅠ?
인클루드 경로는 include_once('../../../../../common.php'); // 경로 중요 이렇게 경로 맞추어 진행하였습니다.