2%가 부족합니다.
본문
쓰기에서는 동적추가 폼으로 저장까지 잘되었습니다.
그런데 뷰페이지에서 이걸 출력하려는데 어렵네요...휴
하다하다 안돼서 질문드립니다.
분할필드로 들어가 있습니다.
코드는 아래와 같구요.
이걸 배열로 5개가 들어가 있으면
뷰에서도 각 배열을 하나씩
5행이 출력되어야 하는데 이미지처럼 한개로 몽조리 나와요,,유유
고수님의 도움이 간절합니다.
<?php
$total_qty = 0;
$total_price = 0;
$sql = "select * from g5_write_order where wr_id = '{$wr_id}' ";
$result = sql_query($sql);
while($row=sql_fetch_array($result)){
$row['product_num'] = $row['wr_id']."_".$row['no'];
if(!$row['p_img_url'])
$row['p_img_url'] = "../skin/board/order/img/noimage.jpg";
$list[] = $row;
$total_qty += $row['qty'];
$total_price += $row['qty'] * $row['price'];
$all_total_price += ($row['qty'] * $row['price']);
}
$list_count = count($list);
?>
<div id="product_list">
<form name="fwrite" id="fwrite" autocomplete="off">
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="list_table">
<caption style="display:none;"><?php echo $board['bo_subject'] ?> 목록</caption>
<thead>
<tr>
<th><span class="black">상품번호</span></th>
<th>이미지</th>
<th>상품URL</th>
<th><span class="black">사이즈</span></th>
<th><span class="black">수량</span></th>
<th><span class="black">단가</span></th>
</tr>
</thead>
<tbody>
<?php for($i=0; $i<$list_count; $i++):?>
<tr>
<td><?php echo $list[$i]['product_num'];?></td>
<td><a href="<?php echo $list[$i]['p_img_url'];?>" target="_blank"><img src="<?php echo $list[$i]['p_img_url'];?>" width="70" height="70" alt=""></a></td>
<td><br><a href="<?php echo $list[$i]['p_url'];?>" target="_blank"></a></td>
<td><span class="black"><?php echo $list[$i]['size'];?></span></td>
<td><span class="black"><?php echo $list[$i]['qty'];?></span></td>
<td><span class="black"><?php echo $list[$i]['price'];?></span><br><span class="black"> </span> </td>
</tr>
<?php endfor?>
<tr>
<td colspan="4" style="font-size:12px; text-align:right; padding-right:20px;">
<span class="black">총 신청수량 : </span><?php echo number_format($total_qty);?></td>
<td colspan="2" style="font-size:12px;">
<span class="black">총 신청금액 : </span><?php echo number_format($total_price);?>.00 </td>
</tr>
</tbody>
</table>
</form>
</div>
답변 4
신청 내역이 어떤 형태로 DB에 저장되어 있는지는 모르겠지만... 신청글의 여분필드에 구분자 형태로 신청내역이 저장되어 있다는 가정하에 간략하게 하자면..아래처럼 하시면 될듯합니다.
$sql = "select * from g5_write_order where wr_id = '{$wr_id}' ";
$row = sql_fetch($sql);
$qty = explode("|",$row['qty']); // 구분자 "|"로 나누어 배열로 담기.
$price = explode("|",$row['price']);
.
.
.
.
[html 출력]
<?
for($i=0; $i < count($qty); $i++) {
if($qty[$i]) { // 갯수가 있는자료만 출력
echo $qty[$i];
echo $price[$i];
}
}
?>
신청내역만 담을 TABLE을 추가하여 신청건의 상품별로 저장하는게 유지보수면으로 봤을때 매우 편리합니다.
DB에 저장되어 있는 이미지를 보여주시면 더 정확한 답변을 받으실 수 있겠네요.
$list_count 를 찍어보시면 1이 나오지 않나요?
게시판 글의 wr_id 레코드에 필드분할로 상품을 여러개 신청 및 등록이 가능하게 하신건가요?
제 생각에도 유찬아빠님과 비슷한데요.
while 문 위에
print_r2(sql_fetch_array($result));
로 배열을 찍어보고 그 배열을 토대로 아래 테이블의 for를 돌려보는게 어떨까 싶네요.
위 이미지로 보아 상품번호, 이미지 하나에
사이즈, 수량, 단가가 다른 상품 6개가 등록 되었다는 것 같은데 맞는가요?
설명이 부족....
맞다면 explode('|', $row['size']) 와 같이 해서 수량, 단가 모두 별도의 배열에 저장해서 출력해야겠습니다