|
|
|
ต้องการหาผลรวมจากช่อง total โดยต้อง sum จาก $objResult["sm"] ซึ่ง $objResult["sm"] มาจากการ sum ใน select ครับ |
|
|
|
|
|
|
|
ต้องการหาผลรวมจากช่อง total โดยต้อง sum จาก $objResult["sm"] ซึ่ง $objResult["sm"] มาจากการ sum ใน select ครับ
DB
Code (PHP)
Code (PHP)
[php]<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="658">
<tr>
<td width="50">Start </td>
<td width="201"><input type="text" name="datestart" id="datestart" value="<?=$_POST["datestart"];?>" ></td>
<td width="31"> End</td>
<td width="182"><input type="text" name="dateend" id="dateend" value="<?=$_POST["dateend"];?>" ></td>
<td width="9"> </td>
<td width="90"><input type="submit" value="Search"></td>
</tr>
</table>
</form>
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
mysql_query( "SET NAMES TIS620" );
$objDB = mysql_select_db("my_db");
if($_POST["datestart"] && $_POST["dateend"] != "")
{
$strSQL = "SELECT order_id,A_quantity,unit_price,E_wages,E_oil,E_maintain,estimate_arrival,((sum(A_Quantity)*sum(unit_price)) - sum(E_wages)- sum(E_oil) - sum(E_maintain)) as sm,DATE_FORMAT(estimate_arrival,'%d-%m-%Y') As MyDate
FROM tranorder WHERE 1 AND order_status = 'C'";
$strSQL .= " AND (estimate_arrival BETWEEN '".$_POST["datestart"]."' and '".$_POST["dateend"]." ' ) GROUP BY order_id ";
}
$objQuery = mysql_query($strSQL) or die ("$strSQL");
?>
<table>
<tr>
<th width="50"><div align="center">No.</div></th>
<th width="200"><div align="center">Date</div></th>
<th width="150"><div align="center">Income Order</th>
<th width="150"><div align="center">unit_price</th>
<th width="150"><div align="center">Wages </th>
<th width="150"><div align="center">Expenses oil </th>
<th width="100"> <div align="center">Maintainace</div></th>
<th width="150"> <div align="center">Total </div></th>
</tr>
<?php
$i = 1;
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr class="alt">
<td><div align="center"><?php echo $i;?></div></td>
<td align="center"><?php echo $objResult["MyDate"];?></td>
<td align="center"><?php echo $objResult["A_quantity"];?></td>
<td align="center"><?php echo $objResult["unit_price"];?></td>
<td align="center"><?php echo $objResult["E_wages"];?></td>
<td align="center"><?php echo $objResult["E_oil"];?></td>
<td align="center"><?php echo $objResult["E_maintain"];?></td>
<td align="right"><?php echo $objResult["sm"];?></td>
<td align="right"><?php echo $total ;?></td>
</tr>
<?php
$i++;
}
?>
[/php]
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2014-11-18 19:32:19 |
By :
ZeroMop |
View :
1235 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<strong>Code (PHP)</strong>
[php]<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="658">
<tr>
<td width="50">Start </td>
<td width="201"><input type="text" name="datestart" id="datestart" value="<?=$_POST["datestart"];?>" ></td>
<td width="31"> End</td>
<td width="182"><input type="text" name="dateend" id="dateend" value="<?=$_POST["dateend"];?>" ></td>
<td width="9"> </td>
<td width="90"><input type="submit" value="Search"></td>
</tr>
</table>
</form>
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
mysql_query( "SET NAMES TIS620" );
$objDB = mysql_select_db("my_db");
if($_POST["datestart"] && $_POST["dateend"] != "")
{
$strSQL = "SELECT order_id,A_quantity,unit_price,E_wages,E_oil,E_maintain,estimate_arrival,((sum(A_Quantity)*sum(unit_price)) - sum(E_wages)- sum(E_oil) - sum(E_maintain)) as sm,DATE_FORMAT(estimate_arrival,'%d-%m-%Y') As MyDate
FROM tranorder WHERE 1 AND order_status = 'C'";
$strSQL .= " AND (estimate_arrival BETWEEN '".$_POST["datestart"]."' and '".$_POST["dateend"]." ' ) GROUP BY order_id ";
}
$objQuery = mysql_query($strSQL) or die ("$strSQL");
?>
<table>
<tr>
<th width="50"><div align="center">No.</div></th>
<th width="200"><div align="center">Date</div></th>
<th width="150"><div align="center">Income Order</th>
<th width="150"><div align="center">unit_price</th>
<th width="150"><div align="center">Wages </th>
<th width="150"><div align="center">Expenses oil </th>
<th width="100"> <div align="center">Maintainace</div></th>
<th width="150"> <div align="center">Total </div></th>
</tr>
<?php
$i = 1;
//ประกาศก่อนกันเพี้ยน
$total=0;
while($objResult = mysql_fetch_array($objQuery))
{
//เพิ่มตรงนี้
$total+=$objResult["sm"];
?>
<tr class="alt">
<td><div align="center"><?php echo $i;?></div></td>
<td align="center"><?php echo $objResult["MyDate"];?></td>
<td align="center"><?php echo $objResult["A_quantity"];?></td>
<td align="center"><?php echo $objResult["unit_price"];?></td>
<td align="center"><?php echo $objResult["E_wages"];?></td>
<td align="center"><?php echo $objResult["E_oil"];?></td>
<td align="center"><?php echo $objResult["E_maintain"];?></td>
<td align="right"><?php echo $objResult["sm"];?></td>
<td align="right"><?php echo $total ;?></td>
</tr>
<?php
$i++;
}
?>
ปล. echo ตรงนั้นจะได้ความถี่สะสมไปเรื่อยๆของแต่ละอัตราภาคชั้นนะครับ . . ถ้าอยากให้ออกเป็นผลรวมครั้งเดียวเลยไม่ต้องออกทุกชั้นต้องยก echo มาไว้นอก loop while ครับ
|
ประวัติการแก้ไข 2014-11-18 19:50:17 2014-11-18 19:52:16
|
|
|
|
Date :
2014-11-18 19:50:04 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|