쪽지에서
본문
쪽지 알림을 레이어로 이런식으로 띄웠어요,,,,
https://sir.kr/g5_skin/26521?sfl=wr_subject%7C%7Cwr_content&stx=%EC%AA%BD%EC%A7%80
레이어 클릭시 바로 게시판 해당 페이지로 가도록...
memo 테이블에
me_link를 추가해서 저장했습니다.
레이어클릭하면 페이지로 바로 넘어갑니다.
그런데 이게...여기서부터가 남이 잘 안하는거에요,,ㅋ
head.php에
아래 처럼 넣었습니다. 링크 잘 작동합니다.
그런데 이렇게 레이어에서 링크를 바로 타고 넘어가니
쪽지함에서 클릭하는 것과 달리...읽은 쪽지로 업데이트가 안되여...
당연한 거지만요,,,
쪽지함에서 클릭한 거 처럼 쪽지 읽은 시간을 업데이트 해줘야 안읽은 쪽지 갯수가 바뀔거 같은데..
이런거는 어떻게 할 수 있을까요?
<?php
//로그인시 쪽지 왔는지 알려주는
if ($is_member) {
//쪽지 테이블에서 마지막 쪽지를 읽어온다.
$sql = "select * from {$g5['memo_table']} where me_recv_mb_id = '{$member['mb_id']}' and me_read_datetime = '0000-00-00 00:00:00' order by me_id desc limit 0,1 ";
$result = sql_fetch($sql);
$get_nick = get_member($result['me_send_mb_id'], $fields='mb_nick');
$get_name = get_member($result['me_send_mb_id'], $fields='mb_name');
$me_subject=$result['me_subject'];
$me_link=$result['me_link'];
if ($result) {
//새창을 띄워준다.
$msg = "<span style='color:black;font-weight:bold'>{$get_name['mb_name']} ({$get_nick['mb_nick']})</span> 님의 쪽지가 도착했습니다. <span style='color:black;font-weight:bold'>{$me_subject}</span>";
$me_link = $me_link;
?>
<div class="memo_alert">
<span class="closebtn" onclick="this.parentElement.style.display='none';">X</span>
<a href="<?php echo $me_link?>">
<span style="color:white;"><?php echo $msg?></span></a>
</div>
<?php } } ?>
이 페이지에
$sql = " update {$g5['memo_table']}
set me_read_datetime = '".G5_TIME_YMDHIS."'
where me_id = '$me_id'
and me_recv_mb_id = '{$member['mb_id']}'
and me_read_datetime = '0000-00-00 00:00:00' ";
sql_query($sql);
이걸 넣으라는데 넣어도 안되네요,,,
답변 5
위 방법으로도 안되면 약간 야매이긴 하지만
쪽지 보는 부분에서 숨겨진(0px 또는 hidden 처리된) iframe 하나 만드시고
해당 쪽지를 iframe 으로 중복으로 열면 일단 해결되실듯 한데요.
일단 저 쿼리문 $sql 안에 넣으신내용들은 정상적인 쿼리문 형태로 나오고는 있나요!? 중간에 변수들 값안바뀌거나 그런건 없나요?
이론상 쪽지 본문에 들어 가면 읽은쪽지로 간주합니다.
그러나 그러기 위해서는 조건이 필요합니다.
링크가 잘못된듯 싶네요..
아래 링크를 참고해 보세요..
$me_link=G5_BBS_URL.'/memo_view.php?me_id='.$result['me_id'];
쪽지 보기 본체 파일에서 업데이트 시킬때 조건이 me_id와 맞다면 업데이트 하시오라고 돼 있습니다.
$sql = " update {$g5['memo_table']}
set me_read_datetime = '".G5_TIME_YMDHIS."'
where me_id = '{$result['me_id']}'
and me_recv_mb_id = '{$member['mb_id']}'
and me_read_datetime = '0000-00-00 00:00:00' ";
sql_query($sql);
해결했습니다 감사합니다