if문 좀 봐주시면 감사하겠습니다.
본문
안녕하세요. 늦은 저녁죄송합니다.
방금 전까지 적용 잘되서 됐는데 안됩니다.
t_code='{$config['mb_no']}' 여기가 비어있으면 else로 넘어가야하는데 나오질 않고
데이터가 있으면 else 안넘어가고 데이터 값 나옵니다.
조건문이 잘못된건 아닌데 왜 else로 안넘어가는지 이해를 못하겠습니다.
<?php
$sql="select * from g5_shop_category where t_code='{$config['mb_no']}'";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
$ca_name = $row['ca_name'];
?>
<?php if($ca_name){ ?>
<li class="nav-item">
<a class="nav-link active" href="#"><?echo $ca_name?></a>
</li>
<?php }else{ ?>
<li class="nav-item">
<a class="nav-link" href="#">VASE</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">GLASS</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<?php }?>
<?php }?>
답변 1
저 조건문 대로 하면은 t_code='{$config['mb_no']} 에 값이 없으면이 아니고
$row['ca_name'] 에 값이 있으면 또는 없으면이 되는것 같습니다.
이미 while로 $row를 가져온 상태를 조건으로 조건문을 돌린것 같은데요
while로 sql 데이터를 가져오기 전에 조건문을 만들면 될것 같네요.
$config['mb_no'] 값이 없으면 즉 가져올 sql 행이 없으면이라는 조건으로요
<?php
$sql="select * from g5_shop_category where t_code='{$config['mb_no']}'";
$result = sql_query($sql);
$rcnt = sql_num_rows($result);
if ( $rcnt == 0 ){ ?>
<li class="nav-item">
<a class="nav-link" href="#">VASE</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">GLASS</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">ETC</a>
</li>
<?php }
while($row = sql_fetch_array($result)) {
$ca_name = $row['ca_name'];
if($ca_name){ ?>
<li class="nav-item">
<a class="nav-link active" href="#"><?php echo $ca_name; ?></a>
</li>
<?php }
} ?>
이렇게 한번 해보셔요
!-->