for문으로 테이블 생성 질문입니다.
본문
for문으로 테이블을 생성하려고합니다.
장바구니의 갯수를 구하고 갯수가 10개 미만이면
상품1 | |
상품2 | |
상품3 | |
상품4 | |
상품5 |
위에처럼 왼쪽td에 아래로 나오게 하고싶습니다.
단, strlen함수 사용해서 글자수가 7글자넘으면 상품1,2는 colspan2가 되고 하나씩 아래로 밀려나고,
장바구니의 갯수가 11개이상이면
상품1 | 상품7 |
상품2 | 상품8 |
상품3 | 상품9 |
상품4 | 상품10 |
상품5 | 상품11 |
상품6 | 상품12 |
이런식으로 뿌려지고 싶습니다. 요기에도
strlen함수 사용해서 글자수가 7글자넘으면 상품1,2는 colspan2가 되게 하고싶습니다.
꾀 까다로운 조건이지만 선배님들의 조언 부탁드립니다.
$res = sql_query("select * from g5_shop_cart where mb_id = 'admin'");
for($i=0; $row=sql_fetch_array($res); $i++){
}
답변 3
<? $res = sql_query("select * from g5_shop_cart where mb_id='admin'"); $cart_count = sql_num_rows($res); if($cart_count<10){ $total_col_span = $cart_count*2; } $col_left = array(); $col_right = array(); for($i=1;$row=sql_fetch_array($res);$i++){ if($cart_count<10 or $i%2==1){ $col_left[]=$row; }else{ $col_right[]=$row; } } ?> <table class="table"> <tbody> <?php for($i=0;$i<count($col_left);$i++){ ?> <tr> <td <?php echo isset($col_right[$i])?'colspan="2"':'colspan="4"'?>><?php echo $col_left[$i]['it_name']?></td> <?if(isset($col_right[$i])){?> <td colspan="2"><?php echo $col_right[$i]['it_name']?></td> <?}?> </tr> <?php }?> </tbody> </table>
이건 계산도 복잡 해질거같은데요 ....
차라리 이런 방식은 어떠세요
1. 상품의 갯수를 센다
2. 10개 이상의 경우 6개씩 묶어서 div 를 생성한다
3. div 안에 해당하는 장바구니 내용을 테이블로 넣는다.
4. div 의 css 속성을 position:relative 로 잡고 width: 50% 로 잡는다.
이렇게 하면 10개이상이 될 경우 2단 배열로 잡을거같은데요....
출력을 1단과 2단을 모두 만든 후 갯수에 따라 출력하게 하면 될거 같아요.
답변을 작성하시기 전에 로그인 해주세요.