댓글의 여분필드가 특정값이면 리스트에 표시를 하고 싶습니다. 채택완료
cubkdy
5년 전
조회 2,002
댓글에서 여분필드 wr_5 을 사용하고 있는데
댓글중에 wr_5 의 값이 서울이라는 것이 하나라도 있다면
리스트에서 "신청완료"이라고 출력이되고
댓글중에 wr_5의 값이 서울이라는 것이 하나도 없다면
리스트에서 "신청하기"라고 출력하게 하고 싶습니다.
여러 글들을 보고 이렇게 해봤는데 모두 "신청하기"로만 출력이됩니다.
완전 초보라서 php 함수 잘 모릅니다. 어디부분을 어떻게 해야하는지 알려주시면 감사하겠습니다^^
</p>
<p><?php
$tbl = "{$g5[write_prefix]}{$bo_table}";
$sql = " select wr_5 from $tbl where wr_is_comment > 0 && wr_parent = '{$list[$i][wr_id]}'";
if ($list[$i]['wr_5']=='서울'){
echo "신청완료";
}else {
echo "신청하기";
}
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
5년 전
우선 wr_id 값이 어디서 오는지를 잘 판단해야 합니다.
그리고, 현재 출력하는 부분이 스킨인지, /bbs/list.php 를 수정하는건지도 판단해야죠
코어로직은 안건드리는게 좋습니다.
</p>
<p> </p>
<pre>
<?php
// $wr_id = '어디선가 받아온값 또는 URL의 wr_id '; // <-- 존재한다고 가정
$tbl = "{$g5[write_prefix]}{$bo_table}";
$sql_add = " and wr_5 = '서울' "; // 서울의 값을 확인할경우
$sql = " select count(*) cnt from $tbl where wr_is_comment > 0 && wr_parent = '{$wr_id}' {$sql_add}";
$row = sql_fetch($sql);
$str = "신청하기";
if ($row['cnt'] > 0)
$str = "신청완료";
echl $str;
?></pre>
<p>
이런 방법으로 작성하시는게 좋습니다.
가급적 변수를 사용하고 불필요한 로직은 제거하는게 좀더 효과적이고 가독성도 좋죠
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
c
cubkdy
5년 전
댓글을 작성하려면 로그인이 필요합니다.
5년 전
아래코드로 적용해 보세요
</p>
<p><?</p>
<p>$tbl = "{$g5[write_prefix]}{$bo_table}";</p>
<p>$sql = " select count(*) as cnt from $tbl where wr_5='서울' AND wr_is_comment > 0 AND wr_parent = '{$list[$i][wr_id]}'";</p>
<p>$s_cnt = sql_fetch($sql);</p>
<p>$s_cnt = $s_check['cnt'];</p>
<p>if ($s_cnt > 0){</p>
<p> echo "신청완료";</p>
<p>}else{</p>
<p> echo "신청하기";</p>
<p>}</p>
<p>?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
c
cubkdy
5년 전
답변주셔서 감사합니다. 제가 뭔가 빠트리고 말씀을 드렸는지 그대로 신청하기만 나왔어요ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$wr_id = "{$list[$i]['wr_id']}";
를 이렇게 하고
말씀주신대로 했더니 말끔히 해결되었습니다. 감사합니다^^