php 다른페이지의 링크를 가져오고 싶습니다.

조회수 792회

브랜드탭안에서 반복문이 돌며 브랜드내 상품들을 띄워줍니다. 상품은 상품등록 페이지에서 설명과 구매하기 링크를 걸어 상품들을 생성합니다. 상품들에는 자세히보기라는 버튼이있고 클릭시 상품설명 페이지로 이동하여 설명을 보여주고 구매하기 버튼이 있는데 이버튼에 상품생성시 등록했던 링크로 이동하게 됩니다. 저는 상세설명페이지로 이동하지않고 자세히보기 버튼을 구매하기버튼처럼 링크를 걸어 상품등록할때 연결한 링크를 자세히보기에 적용하고 싶은데 방법을 잘 모르겠습니다 도와주시면 정말 감사하겠습니다 ㅠㅠ

   <?php for ($i=1; $is_link && $i<=1; $i++) { ?>
    <tr>
        <th scope="row"><label for="wr_link<?php echo $i ?>">링크 #<?php echo $i ?></label></th>
        <td><input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo$write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input" style="width:100%;"></td>
    </tr>
    <?php } ?>

-write.php상품등록 링크작성코드입니다.

    <?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">
    <p><?php echo $list[$i]['subject'] ?></p>
      <a href="<?php echo $list[$i]['href'] ?>" class="btn_white radius ani">자세히 보기</a>

    </div>
  </li>

-list.php 상품출력페이지입니다.

  <?php
    // 링크
    $cnt = 0;
    for ($i=1; $i<=count($view['link']); $i++) {
        if ($view['link'][$i]) {
            $cnt++;
            $link = cut_str($view['link'][$i], 200);
     ?>
            <a href="<?php echo $link ?>" class="btn_blue radius ani" target="_blank">구매하러 가기</a>
    <?php
        }
    }
     ?>

-view.php 상품상세설명 페이지안에 구매하러가기 버튼입니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 링크 적용하는 방법을 물어보셨는데, 데이터/라우팅 등등 서비스 구성은 어떤지 좀 궁금해지네요. 왜냐하면, 예컨대 이 쇼핑몰이 다음과 같은 라우팅 규칙을 따른다고 하면:

    • 상품상세: GET myshop.com/product/11238541/detail
    • 상품을 장바구니에 추가: POST myshop.com/product/11238541/addToCart?token=인증토큰

    list.php의 "자세히 보기" 버튼 옆에 장바구니 추가 버튼 붙이는 방법은 아주 심플하거든요.

    <form method="POST" action="/product/<?= $list[$i]['id'] ?>/addToCart">
        <input type="hidden" name="token" value="<?= $csrf_token ?>" />
        <button type="submit">장바구니에 추가</button>
    </form>
    

    요컨대 만들고 계신 쇼핑몰에서 "구매하기" 처리가 어떻게 일어나야 하는지, 그때 사용되는 URL이나 요청데이터의 패턴이 뭔지 등이 더 중요할 거 같습니다. 지금 뭘 갖고 계시고, 뭘 얻고자 하시는지 다시 정확히 알려 주세요. 배열은 그 다음 문제입니다.

    PS. "상품"처럼 분명히 고유키가 있는 대상들을 순회하는데 $i 변수가 중요하게 사용되고 있다면, 높은 확률로, 이는 좋은 패턴이 아닙니다. 그냥 foreach ($A as $B)로 돌아도 충분할 텐데요.

    PS2. 보아하니 그누보드 같은데 sir.co.kr 에서도 도움을 구해보시면 어떨까요?

    • 구매하기는 상품을 등록할때 썼던 외부사이트의 링크입니다 ex)http://naver.com $list[$i]['href']는 쇼핑몰 내부의 view.php의 상품번호를 가져와서 상세페이지를 출력합니다 $i는 상품등록 순서대로 번호가메겨지는데 대분류 브랜드를 불러오고 그다음 $i가 증가하면서 상품들을 하나씩 가져와서 출력합니다. view의 $link에 입력받은 링크주소가있는데 이값을 list.php 에서 쓰는방법을 알고싶습니다 사수가없어 물어볼곳이없어서 질문드립니다...ㅜㅜ 알 수 없는 사용자 2019.11.12 14:34
    • 입력을 받았다면 DB에 저장돼 있을 텐데 그걸 JOIN 걸어서 퍼오는건 어렵나요? 엽토군 2019.11.12 16:56
    • 저장되있는걸 상품출력되는곳에 맞게 집어넣는 방법을 좀더 알아봐야겠네요 감사합니다.. 알 수 없는 사용자 2019.11.12 17:34

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

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

(ಠ_ಠ)
(ಠ‿ಠ)