이렇게 하면 합계금액이 많은 순으로 정렬돠면서 5개가 나와야 하는데 왜 1개만 나올까요?
Copy
<?php
$sql = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
$result_rank = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result_rank); $i++)
$sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
$result2 = sql_fetch($sql2);
{
?>
<li>
<div class="num"><span><?php echo $i ?></span></div>
<div class="thumbnail">
<?php echo get_it_image($result2['it_id'], 100, 100); ?>
</div>
<div class="memo">
<p class="subject"><?php echo $result2['it_name'] ?></p>
<div class="info">
<div class="tit">조각 당 현재가</div>
<div class="price">1,800원</div>
<div class="priceUpdown">▲ 800원(80.0%)</div>
</div>
<div class="info">
<div class="tit">작품 제시가</div>
<div class="price">1,800원</div>
</div>
</div>
</li>
<? } ?>
|
답변 5개 / 댓글 1개
채택된 답변
+20 포인트
다른것은 다 괜찮은데
한가지가 누락되서 그래요
Copy
$sql = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
이 문장에서
it_id가 누락되었네요
Copy
$sql = " select it_id, SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
만 하시고 다시 해보세요
$sql = " select it_id,
-- 추가하시고요
SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
$result_rank = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result_rank); $i++)
{ // 추가
$sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
$result2 = sql_fetch($sql2);
{ // 삭제
?>
그리고
query 문을 처음부터
join으로 처리 하시면
Loop 안에서 추가 query가 필요없습니다.
Copy
<?php
$sql = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
$result_rank = sql_query($sql);
while($row=sql_fetch_array($result_rank)){
$sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
$result2 = sql_fetch($sql2);
?>
<li>
<div class="num"><span><?php echo $i ?></span></div>
<div class="thumbnail">
<?php echo get_it_image($result2['it_id'], 100, 100); ?>
</div>
<div class="memo">
<p class="subject"><?php echo $result2['it_name'] ?></p>
<div class="info">
<div class="tit">조각 당 현재가</div>
<div class="price">1,800원</div>
<div class="priceUpdown">▲ 800원(80.0%)</div>
</div>
<div class="info">
<div class="tit">작품 제시가</div>
<div class="price">1,800원</div>
</div>
</div>
</li>
<? } ?>
이렇게 사용하시길 권하구요...
sql문은 잘 하신것 같은데...
답변을 작성하려면 로그인이 필요합니다.
SELECT SUM(idx) AS sm FROM `lotte_data` group by `manufacturer` order by sm desc limit 5
입니다.