2026, 새로운 도약을 시작합니다.

for문 규칙.. 채택완료

Copy


$sql = 'select * from g5_write_free';            

$result = sql_query($sql);

 echo '';

        for($i=0; $row=sql_fetch_array($result); $i++) {                

                echo ''.$row['mb_no'] .'';    

                if(($i+1)%4 == 0){

                    echo "";

                }         

            }

if ( $d=$i%4 ) echo str_repeat('-', 4-$d);

echo '';

안녕하세요...
위의 것을 실행하게되면..

아래와 같이 구현됩니다.

** 6번까지 있다고 가정할때..

1  2  3  4

5  6  -  -

4개씩 가로로 표현해 줍니다.

그런데 4개씩 세로로 표현하려면 어떻게 해야 하는건지요..@@;;

1 5

2 6

3 -

4 - 

능력 부족이라..구글링도 잘 안되네요..ㅜ
고수님들 부탁드립니다.

답변 2개

채택된 답변
+20 포인트

질문이 좀 이상한데 게시물이 8개 이상인 경우는 없는가요?

하여튼 질문에 따라 8개 이하라고 한다면 아래처럼 가능히겠습니다

Copy


$$result = sql_query('select * from g5_write_free');           

$list=array();

while($row=sql_fetch_array($result)) $list[]=$row;

 

echo '';

  for($i=0; $i 4; $i+=) {      

     if(! $list[$i+4]['mb_no']) $list[$i+4]['mb_no']='-';        

     echo "{$list[$i]['mb_no']}{$list[$i+4]['mb_no']}";

     }        

echo '';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변 감사합니다.
우선 회원번호는 계속 늘어나기 때문에..8개 이하는 아닙니다.
최대한 응용해 보겠습니다. 감사합니다.
고정적이 아니라면 for문을 이렇게 하세요
$n = ceil(count($list) / 2);
for($i=0; $i < $n; $n++){

게시물수가 3개면 2행, 10개면 5행, 13개면 7행이 만들어집니다

댓글을 작성하려면 로그인이 필요합니다.

$td_set=array();
        for($i=0; $row=sql_fetch_array($result); $i++) {      
               $idx=$i % 4 ; 
               if( !is_set( $td_set[ $idx]) $td_set='<tr>';         
               $td_set[ $ids] .=echo '<td>'.$row['mb_no'] .'</td>';    
        }

       for( $i=0; $i<=$idx; $i++) $td_set[ $i]= .='</tr>';

        for( $i=$idx+1; $i<4; $i++) $td_set[ $i] .='<td>&nbsp;</td></tr>';

echo '<table>';

        for( $i=0; $i<4; $i++) echo $td_set[ $i];

echo '</table>';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

소중한 답변 감사합니다.
엠엘님 작성해 주신 문장이...어떻게 봐야 할지요..ㅜ

답변 감사합니다.
좀 오타가 있었네요.
$td_set=array();
for($i=0; $row=sql_fetch_array($result); $i++) {
$idx=$i % 4 ;
$td_set[ $idx] .=$i.', ';
}
echo $td_set[0],'<br/>';
echo $td_set[1],'<br/>';
echo $td_set[2],'<br/>';
echo $td_set[3],'<br/>';
이렇게만 보셔도 기본적인 아이디어는 이해가 될 겁니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고