for문으로 테이블 생성 질문입니다.

for문으로 테이블 생성 질문입니다.

QA

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>

답변감사합니다.
죄송하지만 한가지 조건을 더 추가하고싶은데 조언좀 해주실수 있으실까요..?

현재 상품명이 같아도 모두 출력되고 있는 상황입니다.
이것을 상품명이 같으면 ct_qty(갯수) 를 더하고 중복으로 나오지 않게 하고싶습니다.

이건 계산도 복잡 해질거같은데요 .... 
차라리 이런 방식은 어떠세요 

1. 상품의 갯수를 센다 
2. 10개 이상의 경우 6개씩 묶어서 div 를 생성한다 
3. div 안에 해당하는 장바구니 내용을 테이블로 넣는다.
4. div 의 css 속성을 position:relative 로 잡고 width: 50% 로 잡는다. 

이렇게 하면 10개이상이 될 경우 2단 배열로 잡을거같은데요.... 

    
 

답변을 작성하시기 전에 로그인 해주세요.
전체 113
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT