【问题标题】:SELECT *, SUM(NET) AS TOTAL FROM TABLE1 WHERE CLAUSE从表 1 中选择 *, SUM(NET) 总计
【发布时间】:2014-05-05 08:56:51
【问题描述】:
<?php require_once('../includes/connection.php');?>
<?php require_once('../includes/header.php');?>

<?php
$color="1";
$respo = $_GET['respo'];
$data = explode("+", $respo);
$month = date("m", strtotime($data[1])) . "<br />";
$year = date("Y", strtotime($data[1])) . "<br />";

**$viewrecord = "SELECT *, (pr.roll1 + pr.roll2 + pr.roll3 + pr.roll4 + pr.roll5 + pr.roll6) AS rolls FROM tbl_payroll dv join tbl_payroll pr on pr.dv_id = dv.dv_id WHERE dv.respo='".mysql_real_escape_string($data[0])."' && year(dv.date_added)='$year' && month(dv.date_added)='$month'";**
$run_viewrecord = mysql_query($viewrecord) or die(mysql_error());

{
echo "<table border='1' width='100%' style='border:1px solid silver' cellpadding='5px' cellspacing='0px'>
<tr bgcolor='#666666' style='color:#FFFFFF'>
<th>Date Encoded</th>
------------HEADER--------- etc....

-------THERE SHOULD BE A IF STATEMATE HERE-----------------
(where if no records match "dv.dv_id=pr.pr.dv_id". It would still display records from tbl_dv..)

while ($row = mysql_fetch_row($run_viewrecord)) {

if($color==1){
echo "<tr bgcolor='#ffffff'>";
echo "<td align='center'>" .date_format(date_create($row[17]), "m/d/y")."</td>
**--------- I WANT TO DISPLAY THE ROLLS HERE --------------------**
echo "</td></tr>";

$color="2";
}   else {
echo "<tr bgcolor='#ebeaea'>";
echo "<td align='center'>" .date_format(date_create($row[17]), "m/d/y")."</td>
**--------- I WANT TO DISPLAY THE ROLLS HERE --------------------**
echo "</td></tr>";

$color="1";
}
}
echo '</table>';
echo '<td><tr><table><br /><br />';
}
?>

我希望在 WHILE 之前添加一个 IF 语句。即使两个 table2 上都没有匹配的 dv_id,它仍然会显示记录。它仍应显示记录。如果不匹配,COLUMN ROLLS 将显示 0.00 值。友情链接>> http://i599.photobucket.com/albums/tt79/emcevo/viewphpdisplay_zpsfc6a8174.jpg

//Total NET
<?php
$qry2 = "SELECT *, SUM(net) as sum_net FROM tbl_dv";
$run2 = mysql_query($qry2) or die(mysql_error());

while ($row = mysql_fetch_array($run2)) {
?>
<tr>
<td colspan="5" style="text-align:right;" /><b>TOTAL NET</b></td>
<td colspan="6" style="text-align:left;font-size: 14px;" /><b><?php echo  number_format($row['sum_net'],2); ?></b></td>
</tr><?php }?>
</td></tr></table>

如何在下面的代码中显示 TOTAL NET:

$qry2 = "SELECT *, SUM(net) as sum_net FROM tbl_dv";. 

我的顶级代码都在工作.. 粗体部分 BUTTOM 代码是问题。

【问题讨论】:

  • 你想从tbl_dv中选择*,即完整的记录。那么您希望每条记录显示什么 SUM?到目前为止,您的问题似乎没有多大意义。
  • 我的意思是..我有一个month.php。当我在month.php 选择它的RESPO 时。这是 view_record.php。其中显示 SELECTED 月份和 RESPO。 RESPO 是一个下拉列表。所以当我选择月份和响应时。我想查看所选月份的总 NET 和响应。

标签: php mysql sql sum


【解决方案1】:

我猜你被否决了,因为据我所知,你的整个 php 代码块是不必要的。您的查询“$qry2”不正确;没有 group by 就不能求和(除非你只求和)。例如:

select dv_id, sum(net) as sum_net from tbl_dv group by dv_id

【讨论】:

  • 我已经尝试过这段代码。发生的事情是它只循环了整个月份的网络。这段代码发生了什么...链接在这里:i599.photobucket.com/albums/tt79/emcevo/…
  • 谢谢。我明白了,先生。当我的声誉达到 15 分时,我将投票赞成。再次非常感谢您.. $qry2 = "Select dv_id, sum(net) as sum_net from tbl_dv where respo='".mysql_real_escape_string(htmlspecialchars($data[0] ))."' && year(date_added)='$year' && month(date_added)='$month'";
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
  • 2015-11-04
相关资源
最近更新 更多