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

안녕하세요.

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

 

Copy
<?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
    }
    ?>

 

이걸 리스트에서 

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

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

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

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

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

 

Copy
<?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
    }
    ?>

 

그런데,

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

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

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

 

혹시 방법이 있을까요?

 

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

감사합니다.

 

답변 2개

채택된 답변
+20 포인트

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

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

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

...

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

 

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

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

 

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

Copy
<?php

define('G5_URL', '');
$tagCol = 'wr_1';
$bo_table = 'free';


$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';

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


    <?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
    }
    ?>


<?php
}
?>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

친절하신 답변 감사합니다.
덥분에 해결하였습니다.

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

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

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

 

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

답변에 대한 댓글 1개

친절하신 답변 감사합니다.
덥분에 해결하였습니다.

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

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

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

로그인
🐛 버그신고