if문의 else문이 적용이 안되는데 문제가 뭔지 확인좀해주세요

if문의 else문이 적용이 안되는데 문제가 뭔지 확인좀해주세요

QA

if문의 else문이 적용이 안되는데 문제가 뭔지 확인좀해주세요

답변 2

본문

주문내역 리스트에서 거래처별로 구분되는 아이디를 a, b로 구분을 지었고,


<td headers="delino">
        <?php 
            $partner_id_check = $row['partner_id'];
            if ($partner_id_check='a') { ?>
                <a href="http://www.hanjin.co.kr/Delivery_html/inquiry/result_waybill.jsp?wbl_num=<?php echo $row['od_invoice']; ?>" target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a>   
            <?php 
            } else if($partner_id_check='b') { ?>
              <?php echo $row['partner_id'];?><a href="https://www.doortodoor.co.kr/parcel/doortodoor.do?fsp_action=PARC_ACT_002&fsp_cmd=retrieveInvNoACT&invc_no=<?php echo $row['od_invoice']; ?> " target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a> 
            <?php } ?>
        </td>

이렇게도 해보고, 아래처럼도 해봤습니다.


<td headers="delino">
        <?php 
            if ($row['partner_id'] = 'a') { ?>
                <a href="http://www.hanjin.co.kr/Delivery_html/inquiry/result_waybill.jsp?wbl_num=<?php echo $row['od_invoice']; ?>" target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a>   
            <?php 
            } else if($row['partner_id'] = 'b') { ?>
              <?php echo $row['partner_id'];?><a href="https://www.doortodoor.co.kr/parcel/doortodoor.do?fsp_action=PARC_ACT_002&fsp_cmd=retrieveInvNoACT&invc_no=<?php echo $row['od_invoice']; ?> " target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a> 
            <?php } ?>
        </td>

 

partner_id를 출력해보면, 주문내역 각 행에 거래처별로 구분되어 주문내역은 출력이 되고 있는데

해당주문의 송장조회시 각 거래처별 구분되는 배송사로 링크가 변경이 안되는데

도움 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

<td headers="delino">
        <?php 
echo "partner_id = ".$row['partner_id'],"<br>"; // 값이 찍히는지 확인해보세요.
echo "od_invoice = ".$row['od_invoice'],"<br>"; // 값이 찍히는지 확인해보세요.
            if ($row['partner_id'] == 'a') { // = 가 아니라  == 로 사용해야합니다 ?>
                <a href="http://www.hanjin.co.kr/Delivery_html/inquiry/result_waybill.jsp?wbl_num=<?php echo $row['od_invoice']; ?>" target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a>   
            <?php 
            } else if($row['partner_id'] == 'b') { ?>
              <?php echo $row['partner_id'];?><a href="https://www.doortodoor.co.kr/parcel/doortodoor.do?fsp_action=PARC_ACT_002&fsp_cmd=retrieveInvNoACT&invc_no=<?php echo $row['od_invoice']; ?> " target="blank"><?php echo ($row['od_invoice'] ? $row['od_invoice'] : '-'); ?> </a> 
            <?php } ?>
        </td>

등호를 그냥 =로 사용했을때 아래와 같이 출력이되며,
링크는 한진택배로 되며, B로 출력되는 송장번호도 한진택배로만 링크가 활성화되네요 ㅠ
partner_id = A
od_invoice = 418877051424
418877051424

==로 하면 인보이스 넘버가 출력이 안되며, =로하면 인보이스 넘버는 출력이됩니다.

A 와 a 는 다른값입니다
partner_id = A  라고 찍혔다는 이야기는  비교값이  a  가  아니라  A 라는 의미가 됩니다
저장되는 값이  A 인지 a 인지를 확인해보세요

해피정님 자체 해결했습니다.  <td>섹션 위로 옮겼더니 되더라구요 ㅋㅋ. 아무튼 도움주시려고 노력해주셔서 감사합니다. 대소문자는 큰 문제는 없는거 같구요. 그래도 모르니 다 대문자로 변경을 하긴했습니다.

등호는 = 가 아니라, == 입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로