php 반복문안에 출력되는 카테고리별로 링크주소를 다르게 버튼생성하는 방법이 궁금합니다

조회수 801회
      <?php 

           for ($ki=0; $ki<count($categories); $ki++) {
      ?>

<a href="#" name="0<?php echo $ki+1 ?>"></a>

    <ul id="gall_ul" class="dv4 clearfix mb_50" style="display:block;">
      <li class="item gall_category">
        <div class="wcard">
          <img src="<?=G5_THEME_URL?>/img/sbrand0<?php echo $ki ?>.jpg">
          <p>
            <h5><? echo $categories[$ki];?></h5>
         </p>
        </div>
      </li>

        <?php   

        for ($i=0; $i<count($list); $i++) {
            if($categories[$ki]==$list[$i]['ca_name'] ){
            if($i>0 && ($i % $bo_gallery_cols == 0))
                $style = 'clear:both;';
            else
                $style = '';
            if ($i == 0) $k = 0;
            $k += 1;
            if ($k % $bo_gallery_cols == 0) $style .= "margin:0 !important;";
         ?>
      <li class="item">
        <div class="gcard">
          <div class="mb_25 boder1l">
          <?php
            if ($list[$i]['is_notice']) { // 공지사항  ?>
                        <strong style="width:<?php echo $board['bo_gallery_width'] ?>px;height:<?php echo $board['bo_gallery_height'] ?>px">공지</strong>
                    <?php } else {
                        $thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height']);

                        if($thumb['src']) {
                            $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'">';
                        } else {
                            $img_content = '<span style="width:'.$board['bo_gallery_width'].'px;height:'.$board['bo_gallery_height'].'px">no image</span>';
                        }

                        echo $img_content;
            }
          ?>
          </div>
          <p><?php echo $list[$i]['subject'] ?></p>
          <a href="<?php echo $list[$i]['href'] ?>" class="btn_white radius ani">자세히 보기</a>
        </div>
      </li>

        <?php } 
        }//if?>

안녕하세요 브랜드별 카테고리 출력하는 부분인데요

 <p>
           <h5><? echo $categories[$ki];?></h5>
</p>

이부분에 해당브랜드홈페이지로 이동하는 버튼을 만들려고하는데 반복문안에서 만들면 전부 똑같은 경로로 이동하게 되는데 따로따로 지정하려면 어떻게 해야되는지 모르겠습니다...

  • 방법이야 여러가지가 있을 듯 한데...제일 기본적으로 생각해볼 수 있는 것이 제어문(if)을 이용하면 되겠지요. 정영훈 2019.11.11 17:29

1 답변

  • 쇼핑몰 정보 자료가 어떻게 주어져 있나요? 만약 주어진 자료가 대충

    $malls = [
        [
            'name' => '쇼핑몰1',
            'category' => '가전제품',
            'url' => 'https://mall1.com',
            // ...
        ],
        // ...
    ];
    $categories = ['가전제품', '의류', '식품', /* ... */ ];
    

    이렇게 생겼다면, for는 이렇게 돌면 될 것 같은데요.

    <?php
    foreach ($categories as $category) {
    
        $mallsOfThisCategory = array_filter($malls, function ($mall) use ($category) {
            return $mall['category'] == $category;
        });
    
        foreach ($mallsOfThisCategory as $mall) : ?>
        <a href="<?= $mall['url'] ?>" target="_blank"><?= $mall['name'] ?></a>
    <?php
        endforeach;
    }
    ?>
    

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)