99%되었는데 사용환경땜에 앙되네요..
본문
슈와이님이 알려주셔서 잘 되는데요,,
제가 쓰려는 상황이 적용해보니 약간 변수가 있네요
<?php
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_id not in ({$board['bo_notice']}) and wr_21 != '' order by wr_num limit 1 ";
$result = sql_fetch($sql);
echo $result['wr_21']+1;
?></span>
이건데요,,,
공지를 제외하고 가장 최신글의 wr_21의 값에 +1을 더해서 리스트 상단에 숫자를 표시하려는데요...
새글을 다른곳에서 복사해오면 그게 이게시판의 최신글이 되는데..
복사해오는 글에는 wr_21값이 없습니다. 그래서 직전 최신글에 +1해서 잘나오는데요..
문제는 복사해오지 않고 현재 상태에서 가장최신글의 wr_21에 값이 있으므로 그거에 +1을 해서 숫자가 1큰수가 되어 안맞네요.,.
이런 상황에서
<?php
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_id not in ({$board['bo_notice']}) and wr_21 != '' order by wr_num limit 1 ";
$result = sql_fetch($sql);
if($result['wr_21'] =='') {
echo $result['wr_21']+1;
} else {
echo $result['wr_21'];
}
?>
이렇게도 해보았는데 숫자가 맞지 않네요,,
어떻게 해야 할지요,,흑흑
답변 2
wr_21 값이 없을 때는 이게시물이 아니고 바로 아래 게시물을 찾아 wr_21+1을 해라
이렇게 하셔야 하는것으로 보이는데요
제가 테이블 구조를 잘 몰라서리.. ㅜㅜ 여튼 아래 쿼리와 비슷할 것 같긴 합니다
$sql = " select wr_21 from {$write_table} where wr_is_comment = 0 and wr_id not in ({$board['bo_notice']}) and wr_21 != '' AND wr_num < {$wr_num} order by wr_num DESC limit 1 ";
// 위 쿼리가 될른지 모르겠네요
// 참고로 $wr_num 은 $_POST['wr_num '] 이거나 $_GET['wr_num '] 을 말합니다
// 테이블 스키마도 잘 몰라서 답변이 좀 애매하네요
// 어느 고수님께서 답변 달아주시면 좋을텐데 말이죠
if($result['wr_21'] =='') {
// 여기 이상하지 않나요?
// 값이 없는데 값을 더하고 있네요
// 그냥 echo 1; 이런게 맞지 않을까요?
// echo $result['wr_21']+1;
echo 1;
} else {
// 위에서 언급한 것과 동일하구요
// echo intval($result['wr_21']) + 1; 이렇게 해야되지 싶네요
// echo $result['wr_21'];
echo intval($result['wr_21']) + 1;
}