테스트 사이트 - 개발 중인 베타 버전입니다

본문에 보이는 태그를 리스트에 보이게 할 수 있을까요? 채택완료

masahide 2년 전 조회 2,046

안녕하세요.

아래 소스처럼 본문에서 태그를 불러오고 있습니다.

 

</p>

<p>    <?php

        if($view[$tagCol]){

        $tags = explode(',',$view[$tagCol]);

    ?>

    <div class="tagList view">

        <i class="material-icons">label</i>

        <div class="tagListIpt">

            <ul>

            <?php for($i=0; $i<count($tags); $i++){?>

                <li class="tag">

                    <a href="<?php echo G5_URL; ?>/<?=$bo_table?>?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$i]?>"># <?=$tags[$i]?></a></li>

            <?php } ?>

            </ul>

        </div>

    </div>

    <?php

    }

    ?></p>

<p>

 

이걸 리스트에서 

1. 게시물 제목 (태그1, 태그2, 태그3...)

2. 게시물 제목 (태그4, 태그5, 태그6...)

3. 게시물 제목 (태그7, 태그8, 태그9...)

이런식으로 뽑아오고 싶어서,

아래처럼 수정해서 리스트에 넣었습니다.

 

</p>

<p>    <?php

        if($list[$i][$tagCol]){

        $tags = explode(',',$list[$i][$tagCol]);

    ?>

    <div class="tagList view">

        <i class="material-icons">label</i>

        <div class="tagListIpt">

            <ul>

            <?php for($i=0; $i<count($tags); $i++){?>

                <li class="tag">

                    <a href="<?php echo G5_URL; ?>/<?=$bo_table?>?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$i]?>"># <?=$tags[$i]?></a></li>

            <?php } ?>

            </ul>

        </div>

    </div>

    <?php

    }

    ?></p>

<p>

 

그런데,

<?php for($i=0; $i<count($tags); $i++){?> 

때문인지 첫번째 게시물의 게시물 제목과 태그는 정상적으로 나오지만

두번째 게시물부터는 게시물 자체가 나오지 않네요.

 

혹시 방법이 있을까요?

 

아시는 분 답변 부탁드립니다.

감사합니다.

 

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

답변 2개

채택된 답변
+20 포인트
2년 전

$list[$i] 에서 $i 가 이미 사용되고 있는데

tags 부분의 $i 와 충돌이 일어나는 상황은 아닌가 생각해봅니다.

</p>

<p><?php for($i=0; $i<count($list); $i++){?></p>

<p>...</p>

<p><?php for($i=0; $i<count($tags); $i++){?></p>

<p>

 

이런 경우 데이터가 어떻게 되어 있는지도 중요하기 때문에

임시 데이터라도 제시를 하는게 문제 해결에 도움이 됩니다.

 

다음은 임의로 데이터를 채우고 내부 반복 플래그를 $i 가 아닌 $j 로 바꾼 예제 입니다.

</p>

<p><?php</p>

<p>define('G5_URL', '');

$tagCol = 'wr_1';

$bo_table = 'free';</p>

<p>

$list = [

    ['wr_subject' => '게시물 제목 1', 'wr_1' => '태그1,태그2,태그3'],

    ['wr_subject' => '게시물 제목 2', 'wr_1' => '태그4,태그5,태그6'],

    ['wr_subject' => '게시물 제목 3', 'wr_1' => '태그7,태그8,태그9'],

];

$tagCol = 'wr_1';</p>

<p>for ($i = 0, $i_cnt = count($list); $i < $i_cnt; $i++) {

?></p>

<p>

    <?php

        if($list[$i][$tagCol]){

        $tags = explode(',',$list[$i][$tagCol]);

    ?>

    <div class="tagList view">

        <i class="material-icons">label</i>

        <div class="tagListIpt">

            <ul>

            <?php echo $list[$i]['wr_subject']; ?>

            <?php for($j=0; $j<count($tags); $j++){?>

                <li class="tag">

                    <a href="<?php echo G5_URL; ?>/<?=$bo_table?>?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$j]?>"># <?=$tags[$j]?></a></li>

            <?php } ?>

            </ul>

        </div>

    </div>

    <?php

    }

    ?></p>

<p>

<?php

}

?></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
masahide
2년 전
친절하신 답변 감사합니다.
덥분에 해결하였습니다.

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

2년 전

두번째 for문 $i==> $k로 변경 

$tags[$i] ==> $tags[$k] 변경

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
masahide
2년 전
친절하신 답변 감사합니다.
덥분에 해결하였습니다.

두분다 동일한 방법인데 한분만 선택해야해서 먼저 답변 주신글을 채택으로 처리하였습니다.
죄송합니다.

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

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

로그인