쪽지 알림을 레이어로 이런식으로 띄웠어요,,,,
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개 / 댓글 6개
위 방법으로도 안되면 약간 야매이긴 하지만
쪽지 보는 부분에서 숨겨진(0px 또는 hidden 처리된) iframe 하나 만드시고
해당 쪽지를 iframe 으로 중복으로 열면 일단 해결되실듯 한데요.
답변에 대한 댓글 3개
@머시기거시기
쪽지 보기 본체 파일에서 업데이트 시킬때 조건이 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);
답변에 대한 댓글 1개
이론상 쪽지 본문에 들어 가면 읽은쪽지로 간주합니다.
그러나 그러기 위해서는 조건이 필요합니다.
링크가 잘못된듯 싶네요..
아래 링크를 참고해 보세요..
$me_link=G5_BBS_URL.'/memo_view.php?me_id='.$result['me_id'];
일단 저 쿼리문 $sql 안에 넣으신내용들은 정상적인 쿼리문 형태로 나오고는 있나요!? 중간에 변수들 값안바뀌거나 그런건 없나요?
답변에 대한 댓글 1개
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;
이부분은 정상으로 표출됩니다.
답변을 작성하려면 로그인이 필요합니다.
해당 쪽지를 iframe 으로 중복으로 열면 ....이게 상당히 어려운 말이라 이해가 안됩니다.ㅋ
쪽지 보는페이지라는게 링크로 이동된 페이지에 아이프레임을 넣은다는것인지...등...