채택완료
댓글의 여분필드가 특정값이면 리스트에 표시를 하고 싶습니다.
댓글에서 여분필드 wr_5 을 사용하고 있는데
댓글중에 wr_5 의 값이 서울이라는 것이 하나라도 있다면
리스트에서 "신청완료"이라고 출력이되고
댓글중에 wr_5의 값이 서울이라는 것이 하나도 없다면
리스트에서 "신청하기"라고 출력하게 하고 싶습니다.
여러 글들을 보고 이렇게 해봤는데 모두 "신청하기"로만 출력이됩니다.
완전 초보라서 php 함수 잘 모릅니다. 어디부분을 어떻게 해야하는지 알려주시면 감사하겠습니다^^
Copy
<?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 "신청하기";
}
?>
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
2020-02-13 (목) 00:07:36
우선 wr_id 값이 어디서 오는지를 잘 판단해야 합니다.
그리고, 현재 출력하는 부분이 스킨인지, /bbs/list.php 를 수정하는건지도 판단해야죠
코어로직은 안건드리는게 좋습니다.
Copy
<?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;
?>
이런 방법으로 작성하시는게 좋습니다.
가급적 변수를 사용하고 불필요한 로직은 제거하는게 좀더 효과적이고 가독성도 좋죠
답변에 대한 댓글 1개
cubkdy
2020-02-13 (목) 01:52:47
MHfac
2020-02-12 (수) 23:38:33
아래코드로 적용해 보세요
Copy
<?
$tbl = "{$g5[write_prefix]}{$bo_table}";
$sql = " select count(*) as cnt from $tbl where wr_5='서울' AND wr_is_comment > 0 AND wr_parent = '{$list[$i][wr_id]}'";
$s_cnt = sql_fetch($sql);
$s_cnt = $s_check['cnt'];
if ($s_cnt > 0){
echo "신청완료";
}else{
echo "신청하기";
}
?>
답변에 대한 댓글 1개
cubkdy
2020-02-13 (목) 01:51:25
답변주셔서 감사합니다. 제가 뭔가 빠트리고 말씀을 드렸는지 그대로 신청하기만 나왔어요ㅠㅠ
답변을 작성하려면 로그인이 필요합니다.
$wr_id = "{$list[$i]['wr_id']}";
를 이렇게 하고
말씀주신대로 했더니 말끔히 해결되었습니다. 감사합니다^^