2015-03-13 46 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 }?>