write_update.tail.skin.php 에 순번 다는 쿼리좀 봐주세요 채택완료
</p>
<p>sql_query( " UPDATE {$write_table} SET wr_10 = concat( ( SELECT count(*) FROM {$write_table} WHERE wr_datetime >= curdate() ), '등' ) WHERE wr_id = '{$wr_id}' " );
위 코드를 write_update.tail.skin.php 에 넣었습니다.
문제는 회원들 여러명이 등시에 글을 쓸경우
중복 카운드가 발생하거나 기록이 안되는 현상이 발생합니다.
write_update.tail.skin.php 에서 $list[$i]['num'] 를 가져오는게 안되서 위 코드를 쓴건데 역시 문제가 있네요.
좀더 나은 방법이 있을까요?
하고싶은건 write_update.tail.skin.php 에서 $list[$i]['num']를 가져오는 방법을 알고싶습니다. (방금 작성한 글이 오늘 몇번째로 작성된건지에 따라 처리할 일을 하고 목록으로 넘어야 하기에..)
답변 4개
</p>
<p>write_update.head.skin.php에서 다음과 같이 해보세요</p>
<p>if(!$w){ //---수정시는 제외하고 등록시에만 처리</p>
<p> </p>
<p> $today = G5_TIME_YMD; $add_qry ='';</p>
<p>if($board['bo_1_subj'] < $today){ $wr_10 = 1; $add_qry="bo_1_subj = '$today',"; }</p>
<p>else $wr_10 = $board['bo_1'] + 1;</p>
<p> </p>
<p> sql_query("update {$g5['board_table']} set $add_qry bo_1='$wr_10' where bo_table='$bo_table' ");</p>
<p> </p>
<p>}</p>
<p>$wr_10 .='등'; //wr_10에 굳이 몇등 할때의 <등>을 넣고자한다면</p>
<p>-------------------------</p>
<p>그리고 수정시에 등위가 삭제되면 안되니 write.skin.php에서 form안에 추가</p>
<p><input type='hidden' name='wr_10' value="<?php echo $write['wr_10']?>"></p>
<p> </p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
wr_num 이 아닌 wr_id 로 하셔야 유니크로 기록 됩니다.
update 전에 해당 게시판의 wr_datetime 으로 오늘 게시글수 +1 하시면되시구요
그리고 update 하실때 update.head 가 아닌 update.tail 로 하세요. 그래야 글 작성이 끝난 시점에서
정확한 카운트가 가능하거든요.
답변에 대한 댓글 1개
[code]
sql_query( " UPDATE {$write_table} SET wr_10 = concat( ( SELECT count(*) FROM {$write_table} WHERE wr_datetime >= curdate() ), '등' ) WHERE wr_id = '{$wr_id}' " );
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인