while 문 질문 입니다.
본문
db 에 col_1 ~ col_15 까지 컬럼이 있다고 하면
값이 있는것만 뿌려줄려고 할 때 while 문 사용하는걸로 아는데 잘 안되세요..
이런식으로 인덱스 값은 없고 고정값으로 되어 있습니다.
$sql = " select * from `order_list_naver` ";
$result = sql_fetch($sql);
<?php while ($i=1; $row=sql_fetch_array($result); $i++) { ?>
<tr>
<th>항목명 <?php echo $i ?></th>
<td><input type="text" name="item_<?php echo $i ?>" value="<?php echo $row['item_'.$i] ?>" class="frm_input"></td>
<th>값 <?php echo $i ?></th>
<td><input type="text" name="item_value_<?php echo $i ?>" value="<?php echo $row['item_value_'.$i] ?>" class="frm_input"></td>
</tr>
<? } ?>
!-->
답변 4
원하시는건 1row 에 있는 col1~col15의 값이고
작성하신 문장은
존재하는 모든 Row를 추출하는 로직입니다.
1row별로 colX들을 추출하는작업을하면
$sql = " select * from `order_list_naver` ";
$result = sql_fetch($sql);
<?php
// while ($i=1; $row=sql_fetch_array($result); $i++) { //for문의 문법입니다.
while ($row=sql_fetch_array($result)) { // while문이 문법에 맞게 변경
//이 구문은 모든 Row를 가져오기 위해선 필요하고
//여기서 컬럼의 내용을 판단 해야 합니다.
// 매번 컬럼의 값을 초기화
$i = 1;
foreach ($row as $key => $value) {
// 각 row의 내용을 컬럼별로 분리합니다.
?>
<tr>
<th>항목명 <?php echo $i ?></th>
<td><input type="text" name="item_<?php echo $i ?>" value="<?php echo $value; ?>" class="frm_input"></td>
<th>값 <?php echo $i ?></th>
<td>
<?php <input type="text" name="item_value_<?php echo $i ?>" value="<?php echo $value?>" class="frm_input"></td>
</tr>
<?php
$i++; // 컬럼의 값을 증가하면서 확인하기 위함
} // foreach end?>
<?php
} // while end ?>
이렇게 변경해서 해보세요
!-->
질문이 이해가 잘 안 가지만 짐작으로...
<tr>
<?php for( $j=1; $j<14; $j++) { ?>
<th>항목명 <?php echo $j ?></th>
<td><input type="text" name="item_<?php echo $j ?>" value="<?php echo $row['item_'.$j] ?>" class="frm_input"></td>
<th>값 <?php echo $j ?></th>
<td><input type="text" name="item_value_<?php echo $j ?>" value="<?php echo $row['item_value_'.$j] ?>" class="frm_input"></td>
<?php } ?>
</tr>
아니요 항목추가 / 삭제로 for문으로 14 라는 갯수가 정해진 상태가 아니라서 while 문을 사용할려고 합니다.
14 15 16 늘려서 저장을 해서 그것까지 불러올려고 합니다.
<?php
$sql = " select * from `order_list_naver` ";
$result = sql_fetch($sql);
$i = 1;
while($row=sql_fetch_array($result)) {
if( $row['item_value_'.$i] != "" ) {
?>
<tr>
<th>항목명 <?php echo $i ?></th>
<td><input type="text" name="item_<?=$i?>" value="<?=$row['item_'.$i]?>" class="frm_input"></td>
<th>값 <?php echo $i ?></th>
<td><input type="text" name="item_value_<?=$i?>" value="<?=$row['item_value_'.$i] ?>" class="frm_input"></td>
</tr>
<?php
}
$i++;
}
?>
!-->
답변을 작성하시기 전에 로그인 해주세요.