for 문으로 불러오는 부분에서 궁금한게 있는데요...
본문
리스트 형식으로 불러올때 거의 모든 쿼리가 for 문으로 돌아가는데...
for($i=0;~~){
if($i == 0)
echo '<여는태그>';
}
if( $i > 0){
echo '</닫는태그>';
}
왜...?
여는 태그는 for문 안에서 $i 가 0일때 출력시키고,
닫는 태그는 for문 밖에서 $i 가 0보다 클때 출력시키나요...??
왜 저렇게 해놓는건지 이해가 잘 안돼서... 문의 남겨 봅니다...;;
제 기준으로는... for 문 시작전 여는태그 echo 로 불러오든 html 로 박아놓든 시작전에 열고
for문에는 뿌려질 리스트내용들만 뿌려주고, for문 끝나면 여는 태그와 같이 echo or html 로 태그 닫으면 되지 않나요...??
물론 리스트가 없을 경우에도 빈 태그로 감싸고 있게 되는 격인건 알지만 위에 for문안에서 열고, for문 밖에서 닫고... 이러는 이유가 따로 있는건가 싶어서 궁금합니다;;
!-->
답변 3
첫번째 for문이 열릴때에 $i == 0 이라면
<ul> 태그들을 열수가있겠죠?
$i == 0 이라면의 의미가 데이터의 행이 있다면이기때문에
<ul> 을 열었을테고
for문이 끝나고나서 $i > 0 이라면
데이터가 앞전에 있었을테니 <ul>이 열렸을테니
이제 닫아야겠다~ 해서 닫는겁니다.
for 문을 실행하는 조건이 안맞으면 실행을
for 문이 실행안되게되고
그러면 i = 0 이 대입됩니다.
따라서 0보다 클때 닫지 않으면
태그가 짝이 안맞는 형태로 만들어지겠죠
말씀하신것 처럼 열고 닫는데 잘못 쓰인 경우입니다.
올려주신 태그 내용상 저렇게 쓰인다면 for문 자체도 필요없고
적용된것도 이상합니다.
저렇게 돌리면 row값이 10이라면
<여는태그>1<닫는태그>2<닫는태그>3<닫는태그>4<닫는태그>5<닫는태그>...
입니다.
for($i=0;~~){
if($i == 0)
echo '<여는태그>';
}
if( $i > 0){
echo '</닫는태그>';
}