2015-03-13 47 views
0
列數

有我的表中多列..PHP代碼來選擇和與

 col1 col2 col3  price 
    500 700 100  10 
    501 700 100  20 
    502 700 100  30 
    503 700 100  10 
     4      70 

我需要得到COL1的次數,並顯示其總和。

,也顯示價格列的總和......

但更主要的是我需要的最後一行中顯示這個....所有數據後...如何選擇該行和最後一行回聲...

plz幫助我...

我需要確切迴應,因爲我把數據在上表...

我需要SQL查詢,也需要幫助呼應只有這個t的總和WO只有最後一排欄......

SELECT *,IFNULL(col1,'SUM'), count(*) as count FROM coupon_entry WHERE Group By col1 WITH ROLLUP 


<?php if (is_array($data)) { foreach($data as $row){ ?> 
     <tr>    

      <td><?php echo htmlspecialchars($row['col1']); ?></td> 
      <td><?php echo htmlspecialchars($row['col2']); ?></td>   
      <td><?php echo htmlspecialchars($row['col3']); ?></td> 
      <td><?php echo htmlspecialchars($row['price']); ?></td> 
     </tr> 
     <?php } }?> 

回答

1

一種解決方案是使用變量來計算PHP的總和:

<?php if (is_array($data)) { 
$totalCol1 = 0; 
$totalPrice = 0; 
foreach($data as $row){ 
$totalCol1 += $row['col1']; 
$totalPrice += $row['price']; 
?> 
     <tr>    

      <td><?php echo htmlspecialchars($row['col1']); ?></td> 
      <td><?php echo htmlspecialchars($row['col2']); ?></td>   
      <td><?php echo htmlspecialchars($row['col3']); ?></td> 
      <td><?php echo htmlspecialchars($row['price']); ?></td> 
     </tr> 
     <?php } 
     <tr> 
      <td><?php echo $totalCol1;?></td> 
      <td></td>   
      <td></td> 
      <td><?php echo $totalPrice;?></td> 
     </tr> 
}?> 
+0

什麼是浪費時間。只要正確編寫查詢,就不需要在PHP中啓動runnig計算。 – 2015-03-13 17:55:42

+1

我說這是一個解決方案..有很多解決方案! – djoosi 2015-03-13 18:01:39

+0

<?php echo $ totalCol1;?>但是這個顯示總和col1 ..我需要在這裏回顯計數..我們回顯總計數.... – 2015-03-14 11:49:51

0

無論是你必須做的2個獨立的查詢,否則你必須在PHP中進行計算 - 雖然PHP解決方案可能會稍微(可忽略?)更快,但其中一個相當簡單。

雙查詢:

$r = query('SELECT * 
      FROM yada-yada'); 
while ($row = fetch($r)) { 
    echo "<td>$row[col1]</td>\n"; 
    echo "<td>$row[col2]</td>\n"; 
    echo "<td>$row[col3]</td>\n"; 
    echo "<td>$row[price]</td>\n"; 
} 

$r2 = query('SELECT COUNT(*) as cnt, sum(col1) as sum_col1, 
       sum(price) as sum_price 
      FROM yada-yada...'); 
if ($row = fetch($r2)) { 
    echo "<td>$row['cnt']</td><td>$row['sum_col1']</td>...$row['sum_price']...\n"; 
} 

計算PHP:

$cnt = $sum_col1 = $sum_price = 0; 
$r = query('SELECT * 
      FROM yada-yada'); 
while ($row = fetch($r)) { 
    echo "<td>$row[col1]</td>\n"; 
    echo "<td>$row[col2]</td>\n"; 
    echo "<td>$row[col3]</td>\n"; 
    echo "<td>$row[price]</td>\n"; 
    $cnt++; 
    $sum_col1 += $row['col1']; 
    $sum_price += $row['price']; 
} 
echo "<td>$cnt</td><td>$sum_col1</td>...$sum_price...\n"; 
0

下面是我的SQL查詢來獲取數和列的總和。

SELECT COUNT(優惠券)爲總,SUM(價格)AS TotalPrice從coupon_entry

,換上這seprate行下表...

<?php 
foreach($tot as $tota) 
?> 
     <tr style="background-color:#33CCFF;"> 
      <td colspan="2" style="text-align:right; font-weight:bold;">Total Coupon</td> 

      <td><?php echo $tota['Total'];?></td> 
      <td style="text-align:right; font-weight:bold;">Total Amount in Rs</td> 
      <td><?php echo $tota['TotalPrice'];?></td> 
     </tr>   
      <?php }?>