채택완료

99%되었는데 사용환경땜에 앙되네요..

2017-08-28 (월) 22:23:54 1,953

슈와이님이 알려주셔서 잘 되는데요,,

제가 쓰려는 상황이 적용해보니 약간 변수가 있네요

<?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개 / 댓글 3개

채택된 답변
+20 포인트

wr_21 값이 없을 때는 이게시물이 아니고 바로 아래 게시물을 찾아 wr_21+1을 해라  

이렇게 하셔야 하는것으로 보이는데요

제가 테이블 구조를 잘 몰라서리.. ㅜㅜ 여튼 아래 쿼리와 비슷할 것 같긴 합니다

Copy
$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 '] 을 말합니다 // 테이블 스키마도 잘 몰라서 답변이 좀 애매하네요// 어느 고수님께서 답변 달아주시면 좋을텐데 말이죠
 

답변에 대한 댓글 1개

2017-08-29 (화) 16:50:22
감사합니다~ 참고해서 성공해보겠습니다.
시간 내주셔서 감사드려요~
Copy
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; }

답변에 대한 댓글 2개

2017-08-29 (화) 12:11:48
해볼게요~~
2017-08-29 (화) 12:45:36
여러가지로 해보았는데

if($result['wr_21'] =='') {
값이 없을 때는 이게시물이 아니고 바로 아래 게시물 wr_21+1을 해라
이게 맞는거 같아요 근데 짤능력이 안되서요,,

} else {
// 값이 있을 때는 이게 맞네요

echo $result['wr_21'];

}

답변을 작성하려면 로그인이 필요합니다.