변수값이 없을 때 안 불러오도록 하는 방법이 있을까요?

변수값이 없을 때 안 불러오도록 하는 방법이 있을까요?

QA

변수값이 없을 때 안 불러오도록 하는 방법이 있을까요?

본문

 jun31019님의 https://sir.kr/g5_skin/27608 스킨과 컴프님의 https://sir.kr/g5_plugin/1306 플러그인, 그리고 선우님의 https://sir.kr/qa/146915 댓글 내용 등을 합쳐서 태그 기능을 사용하고 있습니다. 

 

게시물 리스트에 태그 보기 기능을 넣으려고 하는데, 위 내용을 참고하여 어찌어찌 구현은 했는데 결과물에서 약간의 버그가 있습니다. 

 

일단, 소스는

 

<?php
    $sql = " select group_concat(tags) f_tag from {$write_table} ";
    $row = sql_fetch($sql);
    $row['f_tag'] = trim($row['f_tag'], ','); 
    $arr = explode (',', $row['f_tag']);
    foreach ($arr as $k => $v)
    {
        $ntags[$v]++;
    }
    arsort($ntags);
?>
<span id="more" class="tag1" style="CURSOR: hand" onclick="if(tag.style.display=='none') {tag.style.display='';more.innerText='#Tag 접기'} else {tag.style.display='none';more.innerText='#Tag 펼치기'}">#Tag 펼치기</span>

<div id="tag" style="display: none">

    <?php 
        foreach ($ntags as $key => $value) {
        $tag_count++;
?>
          <a class="tag2" href="<?php echo G5_URL."/bbs/board.php?bo_table=".$bo_table."&sfl=tags&stx=".$key;?>"><?php echo $key;?></a>
<?php
        }
?>

</div>

 

요렇게 하니, 결과물이 아래와 같이 나옵니다.


<div id="tag" style="display: none">

          <a class="tag2" href="https://abcdef.com/bbs/board.php?bo_table=ghijk&sfl=tags&stx="></a>
          <a class="tag2" href="https://abcdef.com/bbs/board.php?bo_table=ghijk&sfl=tags&stx=안녕">안녕</a>
          <a class="tag2" href="https://abcdef.com/bbs/board.php?bo_table=ghijk&sfl=tags&stx=하세요">하세요</a>
          <a class="tag2" href="https://abcdef.com/bbs/board.php?bo_table=ghijk&sfl=tags&stx=헬로우">헬로우</a>

</div>

 

다른 건 다 좋은데, 맨 위에 보시면 아시겠지만, 변수값이 없는데, 즉 태그를 넣지 않았는데 그게 하나의 값처럼(?) 되어 저렇게 떡하니 나옵니다. 클릭은 안 되는데, 자리는 차지해서 마진 등이 넓어져 버립니다. ㅠㅠ

 

저 부분을 출력 안 되게 하는 방법이 있을까요? 제가 엄청난 초보라서 도무지 모르겠습니다.  (- -) (_ _)

이 질문에 댓글 쓰기 :

답변 1

조건 문 즉 IF문 등을 줘서 변수값이 없을 경우 실행 을 안하게 만들면 된다 생각됩니다

감사합니다. 그런데 저도 이런 저런 if 문을 달아봐도 안 되다가, 방금 해결했습니다.

$sql = " select group_concat(tags) f_tag from {$write_table} ";

$sql = " select group_concat(tags) f_tag from {$write_table} where tags not in('')";
로 바꾸니까 깔끔하게 해결되었습니다. ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT