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 포인트
3년 전
질문이 좀 이상한데 게시물이 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개
3년 전
3년 전
고정적이 아니라면 for문을 이렇게 하세요
$n = ceil(count($list) / 2);
for($i=0; $i < $n; $n++){
게시물수가 3개면 2행, 10개면 5행, 13개면 7행이 만들어집니다
$n = ceil(count($list) / 2);
for($i=0; $i < $n; $n++){
게시물수가 3개면 2행, 10개면 5행, 13개면 7행이 만들어집니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
$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> </td></tr>';
echo '<table>';
for( $i=0; $i<4; $i++) echo $td_set[ $i];
echo '</table>';
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
3년 전
좀 오타가 있었네요.
$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/>';
이렇게만 보셔도 기본적인 아이디어는 이해가 될 겁니다.
$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/>';
이렇게만 보셔도 기본적인 아이디어는 이해가 될 겁니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
우선 회원번호는 계속 늘어나기 때문에..8개 이하는 아닙니다.
최대한 응용해 보겠습니다. 감사합니다.