포인트가 적은건가요? 정보
포인트가 적은건가요?본문
삭제후 다시 질문 드립니다.
쓰기를 하면 db의 point 테이블 po_rel_action에 잘 기록이 됩니다.
그런데 게시판을 읽은 값은 처음 로그인하고 게시판에 들어갈 때만
기록되고 기록이 됐다 안됐다 합니다. 일정시간이 지나야 다음 읽은 값이
기록이 되나요? 내가 읽은 게시물이 제대로 나타나지를 않습니다.
현재 포인트 테이블을 이용하여 읽은 게시판을 나타내는 팁을 사용중입니다.
<table width="100%" cellpadding=0 cellspacing=0>
<tr>
<td>
<?
//게시판에서 자기가 본글추출: 포인트테이블 이용.
$po_table="kang_01"; //테이블 id 수정하세요.
$po_sql = @mysql_query("select * from g4_point where (po_rel_table='$po_table' "
." and mb_id='{$member[mb_id]}' and po_rel_action='읽기') "
." order by po_datetime desc limit 0,100");
while($po_data = @mysql_fetch_array($po_sql))
{
echo"<a href='$g4[path]/bbs/board.php?bo_table={$po_data[po_rel_table]}&wr_id={$po_data[po_rel_id]}'>"
."내용:{$po_data[po_content]} 글번호:{$po_data[po_rel_id]}<br>";
}
?>
</td></tr>
</table>
<tr>
<td>
<?
//게시판에서 자기가 본글추출: 포인트테이블 이용.
$po_table="kang_01"; //테이블 id 수정하세요.
$po_sql = @mysql_query("select * from g4_point where (po_rel_table='$po_table' "
." and mb_id='{$member[mb_id]}' and po_rel_action='읽기') "
." order by po_datetime desc limit 0,100");
while($po_data = @mysql_fetch_array($po_sql))
{
echo"<a href='$g4[path]/bbs/board.php?bo_table={$po_data[po_rel_table]}&wr_id={$po_data[po_rel_id]}'>"
."내용:{$po_data[po_content]} 글번호:{$po_data[po_rel_id]}<br>";
}
?>
</td></tr>
</table>
<table width="100%" cellpadding=0 cellspacing=0>
<tr><td height='31' bgcolor='003366'><b><font color='white'> 수강한 강의</font></b></td></tr>
<tr><td>
<?
if($member[mb_id] !=""){//__if1s
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++){//__fors
if($row[bo_table] !="kang_02" || $row[bo_table] !=""){//__if2s 제외하고 싶은 테이블추가
$po_table=$row[bo_table]; //테이블 id 수정하세요.
$po_sql = @mysql_query("select * from g4_point where (po_rel_table='$po_table' "
." and mb_id='{$member[mb_id]}' and po_rel_action='읽기' ) "
." order by po_datetime desc limit 0,100");
$cnt=0; $view_subj=""; $subj="";
while($po_data = @mysql_fetch_array($po_sql))
{ //__whiles
$cnt++;
if($cnt==1){
echo"<br><b>[<font color='#101f29'>게시판 제목: </font>"
."<a href='$g4[path]/bbs/board.php?bo_table={$po_data[po_rel_table]}'>{$row[bo_subject]}</a>]</b> "
."<font color='red'>수강한 강의</font>:(<b>")개'>.@mysql_num_rows($po_sql)."</b>)개";
echo"<br>";
}//
$view_subj=(@mysql_query("select wr_subject,wr_id,wr_is_comment,wr_name,wr_datetime from "
."$g4[write_prefix]{$po_data[po_rel_table]} where wr_id='$po_data[po_rel_id]' "
."and wr_is_comment = 0 order by wr_id desc limit 5 "));
.@mysql_result($view_subj,0,4)."";
//echo"내용:{$po_data[po_content]} 글번호:{$po_data[po_rel_id]}";
}
else
echo"삭제 또는 이동된 글 입니다(글번호:{$po_data[po_rel_id]})";
echo"<br>";
}//__whilee
if(@mysql_num_rows($po_sql)>0) echo"<br>";
}//__if2e
}//__fore
}//__if1e
?>
</td></tr>
</table>
<tr><td height='31' bgcolor='003366'><b><font color='white'> 수강한 강의</font></b></td></tr>
<tr><td>
<?
if($member[mb_id] !=""){//__if1s
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++){//__fors
if($row[bo_table] !="kang_02" || $row[bo_table] !=""){//__if2s 제외하고 싶은 테이블추가
$po_table=$row[bo_table]; //테이블 id 수정하세요.
$po_sql = @mysql_query("select * from g4_point where (po_rel_table='$po_table' "
." and mb_id='{$member[mb_id]}' and po_rel_action='읽기' ) "
." order by po_datetime desc limit 0,100");
$cnt=0; $view_subj=""; $subj="";
while($po_data = @mysql_fetch_array($po_sql))
{ //__whiles
$cnt++;
if($cnt==1){
echo"<br><b>[<font color='#101f29'>게시판 제목: </font>"
."<a href='$g4[path]/bbs/board.php?bo_table={$po_data[po_rel_table]}'>{$row[bo_subject]}</a>]</b> "
."<font color='red'>수강한 강의</font>:(<b>")개'>.@mysql_num_rows($po_sql)."</b>)개";
echo"<br>";
}//
$view_subj=(@mysql_query("select wr_subject,wr_id,wr_is_comment,wr_name,wr_datetime from "
."$g4[write_prefix]{$po_data[po_rel_table]} where wr_id='$po_data[po_rel_id]' "
."and wr_is_comment = 0 order by wr_id desc limit 5 "));
.@mysql_result($view_subj,0,4)."";
//echo"내용:{$po_data[po_content]} 글번호:{$po_data[po_rel_id]}";
}
else
echo"삭제 또는 이동된 글 입니다(글번호:{$po_data[po_rel_id]})";
echo"<br>";
}//__whilee
if(@mysql_num_rows($po_sql)>0) echo"<br>";
}//__if2e
}//__fore
}//__if1e
?>
</td></tr>
</table>
db의 point 테이블 po_rel_action에 "읽기"라고 직접 써넣으면 잘 나타납니다.
결국은 읽은 값이 기록이 안되는것 같은데 어느 부분을 봐야 하는지 부탁 드립니다.
내 포인트보기에는 제대로 기록이 남는 상태입니다. 답변 좀 주세요.
P.S:혹시 다른 방법이 있으면 알려주십시요.
용도는 동영상 강의 3개를 들어야 시험을 볼 수 있도록 하려고 합니다.
그리고 포인트 적으면 더 드릴께여 남은거 다...
댓글 전체

포인트가 적어서 그렇다기 보다는 문제가 조금 난이도가 있네요.
이것은 board.php에서 오늘 처음 읽은 글인가를 판별하여 지정된 포인트를 주는 부분을 참고
하여야 하는데요.
insert_point 라는 함수에서
기존에 같은 내용으로 포인트를 받은적이 있는지 체크하고
없을때만 포인트를 지급합니다.
그러니까 같은 내용으로 중복적으로 포인트가 지급되지 않습니다.
지금 보니까 같은 창에서 테스트 중이신것 같은데요.
첨읽는 글인지를 판별할때
세션을 이용하므로
테스트 할땐 포인트 테이블을 지우고
매번 새로운 브라우져를 열어서 테스트 해보면 잘 보이실 겁니다.
이것은 board.php에서 오늘 처음 읽은 글인가를 판별하여 지정된 포인트를 주는 부분을 참고
하여야 하는데요.
insert_point 라는 함수에서
기존에 같은 내용으로 포인트를 받은적이 있는지 체크하고
없을때만 포인트를 지급합니다.
그러니까 같은 내용으로 중복적으로 포인트가 지급되지 않습니다.
지금 보니까 같은 창에서 테스트 중이신것 같은데요.
첨읽는 글인지를 판별할때
세션을 이용하므로
테스트 할땐 포인트 테이블을 지우고
매번 새로운 브라우져를 열어서 테스트 해보면 잘 보이실 겁니다.
우선 답변 감사 드립니다.
알려주신대로 포인트 전부 삭제하고 새로 로그인하여 4개의 글을 읽었는데
포인트 내역을 보면 4개의 포인트가 지급된것으로 나오는데 내가 읽은 글 목록에는
2개 밖에 나타나지가 않습니다.
po_id mb_id po_datetime po_content po_point po_rel_table po_rel_id po_rel_action
104 power 2007-02-08 17:19:29 구약개론 1 글읽기 100 kang_01 1 읽기
103 power 2007-02-08 17:13:58 구약개론 6 글읽기 100
102 power 2007-02-08 17:13:07 구약개론 7 글읽기 100 kang_01 7 읽기
101 power 2007-02-08 17:09:00 구약개론 5 글읽기 100
위 글은 point 테이블에서 방금 읽은 부분만 적은 것입니다.
1번과 7번은 읽기로 기록이 되어 있는데 6번과 5번은 기록이 없습니다.
그런데 포인트 내역에 보면 글읽기 100포인트씩 빠짐없이 기록되어 있거든요.
어쩌면 좋을까요? 다른 방법으로 읽은 글을 확인할 수 있는 방법은 없는건가요?
참고로 5개의 영상을 보면 되는겁니다.
알려주신대로 포인트 전부 삭제하고 새로 로그인하여 4개의 글을 읽었는데
포인트 내역을 보면 4개의 포인트가 지급된것으로 나오는데 내가 읽은 글 목록에는
2개 밖에 나타나지가 않습니다.
po_id mb_id po_datetime po_content po_point po_rel_table po_rel_id po_rel_action
104 power 2007-02-08 17:19:29 구약개론 1 글읽기 100 kang_01 1 읽기
103 power 2007-02-08 17:13:58 구약개론 6 글읽기 100
102 power 2007-02-08 17:13:07 구약개론 7 글읽기 100 kang_01 7 읽기
101 power 2007-02-08 17:09:00 구약개론 5 글읽기 100
위 글은 point 테이블에서 방금 읽은 부분만 적은 것입니다.
1번과 7번은 읽기로 기록이 되어 있는데 6번과 5번은 기록이 없습니다.
그런데 포인트 내역에 보면 글읽기 100포인트씩 빠짐없이 기록되어 있거든요.
어쩌면 좋을까요? 다른 방법으로 읽은 글을 확인할 수 있는 방법은 없는건가요?
참고로 5개의 영상을 보면 되는겁니다.

네 보니
읽을때 board.php를 통해서 읽는 것과 그렇지 않는 것이 있나보군요
board.php로 읽으면
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
이런식으로 함수를 사용합니다.
아마도 두번은 다른 파일에서 글을 읽는 모양이군요
제 말이 맞다면 그파일을 열어서
포인트 차감하는 부분에
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
이렇게 변경해서 넣으세요
물론 해당 변수는 모두 맞게 넣으셔야 합니다.
만약, 그런것이 아니라면
board.php를 고치실때 잘 못 고치신것 같습니다.
부분적으로 정보가 들어갓다 안들어갓다 하거든요.
아이디랑 포인트 부분은 있지만
연관된 정보가 들어가지 않는것을 보면 알수있습니다.
읽을때 board.php를 통해서 읽는 것과 그렇지 않는 것이 있나보군요
board.php로 읽으면
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
이런식으로 함수를 사용합니다.
아마도 두번은 다른 파일에서 글을 읽는 모양이군요
제 말이 맞다면 그파일을 열어서
포인트 차감하는 부분에
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
이렇게 변경해서 넣으세요
물론 해당 변수는 모두 맞게 넣으셔야 합니다.
만약, 그런것이 아니라면
board.php를 고치실때 잘 못 고치신것 같습니다.
부분적으로 정보가 들어갓다 안들어갓다 하거든요.
아이디랑 포인트 부분은 있지만
연관된 정보가 들어가지 않는것을 보면 알수있습니다.
고맙습니다.
드디어 찾았습니다. 유창화님이 말씀하신
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
부분중에 $bo_table, $wr_id, '읽기'); 가 스킨에 보니 빠져 있었습니다.
답변 감사 드리며 수고 하십시요.
드디어 찾았습니다. 유창화님이 말씀하신
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
부분중에 $bo_table, $wr_id, '읽기'); 가 스킨에 보니 빠져 있었습니다.
답변 감사 드리며 수고 하십시요.