รบกวนช่วยแนะนำหนูอีกครั้งคะ พอดีเค้าให้เปลี่ยน Report เป็นแบบตัวอย่างคะ หนูต้องวนลูปนับแบบไหนคะ
เหมือนกับว่าจะต้อง JOIN อีก Table ที่เป็น Supplier Type ครับ
Date :
2014-02-18 13:45:28
By :
mr.win
ขอโทษคะ รูปข้อมูลอาจจะผิดเพี้ยนไปนิด หนูอัพเดดอันใหม่ให้แล้วคะ แต่ว่าในตารางอันนี้หนูเก็บ type ไว้แล้ว
หนูเก็บไว้ในนี้คะ <div align="center"><?=$objResult["type"];?> หนูอยากได้ตามภาพแต่หนูวนลูปไม่เป็นนะคะ เค้าให้หนูเปลี่ยนฟอร์มเป็นแบบนี้นะคะ รบกวนด้วยคะ
Date :
2014-02-18 14:35:19
By :
แอน
ไม่มีใครช่วยแนะนำหนูเลยเหรอคะ ตอนนี้หนูพยายามทำอยู่แต่ว่าหนู ติดตรง Header ตรงเลขที่ ticket กับ invoice นะคะ หนู จะ group ไงดีคะ
Date :
2014-02-18 16:56:21
By :
แอน
ลองดัดแปลงเอาน่ะครับ
<?
include "Connect.php";
//include "function.php";
header("Content-type: application/vnd.ms-excel");
// header('Content-type: application/csv'); //*** CSV ***//
header("Content-Disposition: attachment; filename=SummaryReport.xls");
$dateStart = $_POST['indate'];
//$dateEnd = $_POST['enddate'];
$Type = $_POST['Type'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Report</title>
</head>
<body>
<table width="50%" border="1" >
<tr>
<th colspan='11'> <div align="center"><strong>Summary Report </strong></div></th>
</tr>
<th colspan='11'> <div align="center"><strong>รายงานวันที่ <?=$_POST['indate']?></strong></div></th>
</tr>
<?
$strSQL = "SELECT * From invoice
Where date = '$dateStart' and type = '$Type'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$tbheader = '
<tr>
<th> <div align="center"><strong>No. </strong></div></th>
<th> <div align="center"><strong>Ticket No.</div></th>
<th> <div align="center"><strong>Date<strong></div></th>
<th> <div align="center"><strong>Code<strong></div></th>
<th> <div align="center"><strong>Name<strong></div></th>
<th> <div align="center"><strong>Inv No.<strong></div></th>
<th> <div align="center"><strong>Inv Date<strong></div></th>
<th> <div align="center"><strong>Amount<strong></div></th>
<th> <div align="center"><strong>vat<strong></div></th>
<th> <div align="center"><strong>Type<strong></div></th>
</tr>';
echo $tbheader;
$i=1;
$ticket = "";
while($objResult = mysql_fetch_array($objQuery))
{
if($ticket != $objResult["Ticket_No"]){
echo $tbheader;
$ticket = $objResult["Ticket_No"];
}
?>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$objResult["Ticket_No"];?></div></td>
<td><div align="center"><?=$objResult["date"];?></div></td>
<td><div align="left"><?=$objResult["Code"];?></div></td>
<td><div align="left"><?=$objResult["Name"];?></div></td>
<td><div align="center"><?=$objResult["inv_no"];?></div></td>
<td><div align="center"><?=$objResult["Inv_Date"];?></div></td>
<td><div align="right"><?=number_format($objResult["Amount"],2,".",',');?></div></td>
<td><div align="right"><?=number_format($objResult["vat"],2,".",',');?></div></td>
<td><div align="center"><?=$objResult["type"];?></div></td>
</tr>
<?
$i++;
}
?>
</table>
</body>
</html>
Date :
2014-02-18 17:00:00
By :
sakuraei
Code (PHP)
<?
include "Connect.php";
//include "function.php";
header("Content-type: application/vnd.ms-excel");
// header('Content-type: application/csv'); //*** CSV ***//
header("Content-Disposition: attachment; filename=SummaryReport.xls");
$dateStart = $_POST['indate'];
//$dateEnd = $_POST['enddate'];
$Type = $_POST['Type'];
function tbheader($invno,$ticket){
return "<tr>
<th> <div align=\"center\"><strong>No. </strong></div></th>
<th> <div align=\"center\"><strong>$ticket</div></th>
<th> <div align=\"center\"><strong>Date<strong></div></th>
<th> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Name<strong></div></th>
<th> <div align=\"center\"><strong>$invno<strong></div></th>
<th> <div align=\"center\"><strong>Inv Date<strong></div></th>
<th> <div align=\"center\"><strong>Amount<strong></div></th>
<th> <div align=\"center\"><strong>vat<strong></div></th>
<th> <div align=\"center\"><strong>Type<strong></div></th>
</tr>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Report</title>
</head>
<body>
<table width="50%" border="1" >
<tr>
<th colspan='11'> <div align="center"><strong>Summary Report </strong></div></th>
</tr>
<th colspan='11'> <div align="center"><strong>รายงานวันที่ <?=$_POST['indate']?></strong></div></th>
</tr>
<?
$strSQL = "SELECT * From invoice
Where date = '$dateStart' and type = '$Type'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$i=1;
$ticket = "";
while($objResult = mysql_fetch_array($objQuery))
{
if($ticket != $objResult["Ticket_No"]){
echo tbheader($objResult["inv_no"] , $objResult["Ticket_No"]);
$ticket = $objResult["Ticket_No"];
}
?>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$objResult["Ticket_No"];?></div></td>
<td><div align="center"><?=$objResult["date"];?></div></td>
<td><div align="left"><?=$objResult["Code"];?></div></td>
<td><div align="left"><?=$objResult["Name"];?></div></td>
<td><div align="center"><?=$objResult["inv_no"];?></div></td>
<td><div align="center"><?=$objResult["Inv_Date"];?></div></td>
<td><div align="right"><?=number_format($objResult["Amount"],2,".",',');?></div></td>
<td><div align="right"><?=number_format($objResult["vat"],2,".",',');?></div></td>
<td><div align="center"><?=$objResult["type"];?></div></td>
</tr>
<?
$i++;
}
?>
</table>
</body>
</html>
Date :
2014-02-18 17:11:20
By :
sakuraei
ขอบคุณคะพี่ sakuraei ตอนนี้หนูลองเอาไปดัดแปลงตามพี่แล้ว ตอนนี้หัวด้านบน Ticket กับ Invoice เหมือนตัวอย่างแล้วคะ แต่ว่าหนูใส่ Total : รวม Taxable Amount กับ Tax amount ไม่ได้คะ แล้ว Ticket ใหม่หนูอยากให้มันเริ่ม No. 1 ใหม่ด้วยคะ แต่ของหนูมันไม่รัน หนูต้องเพิ่มเงื่อนไขรวมยอดเงินยังไงคะ
Date :
2014-02-18 20:38:54
By :
แอน
เอาโค้ดที่ดัดแปลงล่าสุดมาลงให้ดูเลยครับ
Date :
2014-02-18 20:44:48
By :
sakuraei
<?
include "Connect.php";
//include "function.php";
header("Content-type: application/vnd.ms-excel");
// header('Content-type: application/csv'); //*** CSV ***//
header("Content-Disposition: attachment; filename=SummaryReport.xls");
$dateStart = $_POST['indate'];
//$dateEnd = $_POST['enddate'];
$Type = $_POST['Supplier'];
function tbheader($invno,$ticket){
return "<tr></tr>
<tr>
<th colspan='10'><div align=\"left\"><strong>Ticket No. : $Ticket_No</div></th>
</tr>
<tr>
<th colspan='10'><div align=\"left\"><strong>Invoice No. : $Invoice_No<strong></div></th>
</tr>
<tr>
<th> <div align=\"center\"><strong>No. </strong></div></th>
<th> <div align=\"center\"><strong>$ticket</div></th>
<th> <div align=\"center\"><strong>Date<strong></div></th>
<th> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Name<strong></div></th>
<th> <div align=\"center\"><strong>$invno<strong></div></th>
<th> <div align=\"center\"><strong>Inv Date<strong></div></th>
<th> <div align=\"center\"><strong>Amount<strong></div></th>
<th> <div align=\"center\"><strong>vat<strong></div></th>
<th> <div align=\"center\"><strong>Type<strong></div></th>
</tr>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Report</title>
</head>
<body>
<table width="50%" border="1" >
<tr>
<th colspan='11'> <div align="center"><strong>Summary Report </strong></div></th>
</tr>
<th colspan='11'> <div align="center"><strong>รายงานวันที่ <?=$_POST['indate']?></strong></div></th>
</tr>
<?
$strSQL = "SELECT * From invoice
Where date = '$dateStart' and type = '$Type'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$i=1;
$ticket = "";
while($objResult = mysql_fetch_array($objQuery))
{
if($ticket != $objResult["Ticket_No"]){
echo tbheader($objResult["Invoice_No"] , $objResult["Ticket_No"]);
$ticket = $objResult["Ticket_No"];
}
?>
<tr>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$objResult["Ticket_No"];?></div></td>
<td><div align="center"><?=$objResult["date"];?></div></td>
<td><div align="left"><?=$objResult["Code"];?></div></td>
<td><div align="left"><?=$objResult["Name"];?></div></td>
<td><div align="center"><?=$objResult["inv_no"];?></div></td>
<td><div align="center"><?=$objResult["Inv_Date"];?></div></td>
<td><div align="right"><?=number_format($objResult["Amount"],2,".",',');?></div></td>
<td><div align="right"><?=number_format($objResult["vat"],2,".",',');?></div></td>
<td><div align="center"><?=$objResult["type"];?></div></td>
</tr> </tr>
<?
$i++;
}
?>
</table>
<table width="100%" border="1" >
<tr>
<th colspan="5"> <div align="center"><strong>Total: <strong></div></th>
</tr>
</table>
</body>
</html>
หนูจะเพิ่มสรุปคำนวนเงิน ใน Ticket นั้น ๆ นะคะ แต่ว่า total หนูมันไม่ต่อท้ายนะคะ หนูพยายามเปลี่ยนแล้ว หนูเปลี่ยนไปนิดนึงเองคะ กำลังพยายามดัดแปลงทีละนิดคะ เพราะหนูยังไม่เก่งคะ ขอบคุณพี่นะคะที่ช่วยหนู
Date :
2014-02-18 20:51:52
By :
แอน
สมัครเป็นสมาชิกด้วยน่ะครับ จะได้เห็นกันเวลาออนไลน์
Date :
2014-02-18 21:02:38
By :
sakuraei
ได้คะ หนูยังอยู่คะ แก้ยังไม่เสร็จเลยคะ เค้าจาเอาพรุ่งนี้แล้วหนูยังนั่งมึนอยู่เลยคะ
Date :
2014-02-18 21:11:00
By :
แอน
ลองดูน่ะครับ
<?
include "Connect.php";
//include "function.php";
header("Content-type: application/vnd.ms-excel");
// header('Content-type: application/csv'); //*** CSV ***//
header("Content-Disposition: attachment; filename=SummaryReport.xls");
$dateStart = $_POST['indate'];
//$dateEnd = $_POST['enddate'];
$Type = $_POST['Supplier'];
function tbheader($invno,$ticket){
return "<tr>
<th colspan='10'><div align=\"left\"><strong>Ticket No. : $Ticket_No</div></th>
</tr>
<tr>
<th colspan='10'><div align=\"left\"><strong>Invoice No. : $Invoice_No<strong></div></th>
</tr>
<tr>
<th> <div align=\"center\"><strong>No. </strong></div></th>
<th> <div align=\"center\"><strong>$ticket</div></th>
<th> <div align=\"center\"><strong>Date<strong></div></th>
<th> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Name<strong></div></th>
<th> <div align=\"center\"><strong>$invno<strong></div></th>
<th> <div align=\"center\"><strong>Inv Date<strong></div></th>
<th> <div align=\"center\"><strong>Amount<strong></div></th>
<th> <div align=\"center\"><strong>vat<strong></div></th>
<th> <div align=\"center\"><strong>Type<strong></div></th>
</tr>";
}
function tbfooter($taxable,$tax){
return "<tr>
<th colspan='10'><div align=\"left\"><strong>Ticket No. : $Ticket_No</div></th>
</tr>
<tr>
<th colspan='10'><div align=\"left\"><strong>Invoice No. : $Invoice_No<strong></div></th>
</tr>
<tr>
<th colspan='4'> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Total<strong></div></th>
<th> <div align=\"center\"><strong>$taxable<strong></div></th>
<th> <div align=\"center\"><strong>$tax<strong></div></th>
<th colspan='3'> <div align=\"center\"><strong> <strong></div></th>
</tr>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Report</title>
</head>
<body>
<table width="50%" border="1" >
<tr>
<th colspan='11'> <div align="center"><strong>Summary Report </strong></div></th>
</tr>
<th colspan='11'> <div align="center"><strong>รายงานวันที่ <?=$_POST['indate']?></strong></div></th>
</tr>
<?
$strSQL = "SELECT * From invoice
Where date = '$dateStart' and type = '$Type'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$i=1;
$ticket = "";
$footer = "";
$taxable = 0;
$tax = 0;
while($objResult = mysql_fetch_array($objQuery))
{
if($ticket != $objResult["Ticket_No"]){
if($i > 1) echo tbfooter($taxable,$tax);
echo tbheader($objResult["Invoice_No"] , $objResult["Ticket_No"]);
$ticket = $objResult["Ticket_No"];
$i=1;
$taxable = 0;
$tax = 0;
}
?>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$objResult["Ticket_No"];?></div></td>
<td><div align="center"><?=$objResult["date"];?></div></td>
<td><div align="left"><?=$objResult["Code"];?></div></td>
<td><div align="left"><?=$objResult["Name"];?></div></td>
<td><div align="center"><?=$objResult["inv_no"];?></div></td>
<td><div align="center"><?=$objResult["Inv_Date"];?></div></td>
<td><div align="right"><?=number_format($objResult["Amount"],2,".",',');?></div></td>
<td><div align="right"><?=number_format($objResult["vat"],2,".",',');?></div></td>
<td><div align="center"><?=$objResult["type"];?></div></td>
</tr>
<?
$i++;
$taxable += $objResult["Amount"];
$tax += $objResult["vat"];
}
?>
</table>
<table width="100%" border="1" >
<tr>
<th colspan="5"> <div align="center"><strong>Total: <strong></div></th>
</tr>
</table>
</body>
</html>
Date :
2014-02-18 21:29:40
By :
sakuraei
พี่คะ มันมีหลายบรรทัดมันไม่ขึ้น total ให้คะ ถ้ามีอันเดียวมันขี้นให้นะคะ ถ้ามีหลายอันเราจะเอา มันบวกกัน แล้วให้มัน show total นะคะ หนูจะ
ต้องบวกแล้ว เอาไปไว้บรรทัดไหนดีคะ
Date :
2014-02-18 21:57:04
By :
แอน
ลองจับภาพหน้าจอมาให้ดูหน่อยครับ
Date :
2014-02-18 21:58:21
By :
sakuraei
มันขึ้นแบบนี้คะ อันที่มันมีมากกว่า 1 บรรทัดมันไม่มี total คะ
ประวัติการแก้ไข 2014-02-18 22:13:10 2014-02-18 22:12:41
Date :
2014-02-18 22:07:03
By :
แอน
ไม่น่าจะเป็นกับข้อมูลที่มีมากกว่าหนึ่งบรรทัดหรอกครับ แต่น่าจะเกิดปัญหากับข้อมูลชุดสุดท้ายมากกว่า ลองอีกรอบน่ะครับ
<?
include "Connect.php";
//include "function.php";
header("Content-type: application/vnd.ms-excel");
// header('Content-type: application/csv'); //*** CSV ***//
header("Content-Disposition: attachment; filename=SummaryReport.xls");
$dateStart = $_POST['indate'];
//$dateEnd = $_POST['enddate'];
$Type = $_POST['Supplier'];
function tbheader($invno,$ticket){
return "<tr>
<th colspan='10'><div align=\"left\"><strong>Ticket No. : $Ticket_No</div></th>
</tr>
<tr>
<th colspan='10'><div align=\"left\"><strong>Invoice No. : $Invoice_No<strong></div></th>
</tr>
<tr>
<th> <div align=\"center\"><strong>No. </strong></div></th>
<th> <div align=\"center\"><strong>$ticket</div></th>
<th> <div align=\"center\"><strong>Date<strong></div></th>
<th> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Name<strong></div></th>
<th> <div align=\"center\"><strong>$invno<strong></div></th>
<th> <div align=\"center\"><strong>Inv Date<strong></div></th>
<th> <div align=\"center\"><strong>Amount<strong></div></th>
<th> <div align=\"center\"><strong>vat<strong></div></th>
<th> <div align=\"center\"><strong>Type<strong></div></th>
</tr>";
}
function tbfooter($taxable,$tax){
return "
<tr>
<th colspan='4'> <div align=\"center\"><strong>Code<strong></div></th>
<th> <div align=\"center\"><strong>Total<strong></div></th>
<th> <div align=\"center\"><strong>$taxable<strong></div></th>
<th> <div align=\"center\"><strong>$tax<strong></div></th>
<th colspan='3'> <div align=\"center\"><strong> <strong></div></th>
</tr>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Report</title>
</head>
<body>
<table width="50%" border="1" >
<tr>
<th colspan='11'> <div align="center"><strong>Summary Report </strong></div></th>
</tr>
<th colspan='11'> <div align="center"><strong>รายงานวันที่ <?=$_POST['indate']?></strong></div></th>
</tr>
<?
$strSQL = "SELECT * From invoice
Where date = '$dateStart' and type = '$Type'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$i=1;
$ticket = "";
$footer = "";
$taxable = 0;
$tax = 0;
while($objResult = mysql_fetch_array($objQuery))
{
if($ticket != $objResult["Ticket_No"]){
if($i > 1) echo tbfooter($taxable,$tax);
echo tbheader($objResult["Invoice_No"] , $objResult["Ticket_No"]);
$ticket = $objResult["Ticket_No"];
$i=1;
$taxable = 0;
$tax = 0;
}
?>
<tr>
<td><div align="center"><?=$i;?></div></td>
<td><div align="center"><?=$objResult["Ticket_No"];?></div></td>
<td><div align="center"><?=$objResult["date"];?></div></td>
<td><div align="left"><?=$objResult["Code"];?></div></td>
<td><div align="left"><?=$objResult["Name"];?></div></td>
<td><div align="center"><?=$objResult["inv_no"];?></div></td>
<td><div align="center"><?=$objResult["Inv_Date"];?></div></td>
<td><div align="right"><?=number_format($objResult["Amount"],2,".",',');?></div></td>
<td><div align="right"><?=number_format($objResult["vat"],2,".",',');?></div></td>
<td><div align="center"><?=$objResult["type"];?></div></td>
</tr>
<?
$i++;
$taxable += $objResult["Amount"];
$tax += $objResult["vat"];
}
echo tbfooter($taxable,$tax);
?>
</table>
<table width="100%" border="1" >
<tr>
<th colspan="5"> <div align="center"><strong>Total: <strong></div></th>
</tr>
</table>
</body>
</html>
Date :
2014-02-18 22:16:14
By :
sakuraei
เย้ได้แล้วคะ ขอบคุณมากๆๆๆๆๆๆๆ คะ พี่คะ หนูส่งคำขอบคุณได้ทีละครั้งเหรอคะ
Date :
2014-02-18 22:25:08
By :
แอน
ครับ วันละหนึ่งครั้งต่อหนึ่งคนครับ
Date :
2014-02-18 22:30:54
By :
sakuraei
ค่าาาาา ขอบคุณมากคะ เดี๋ยวหนูคงมีอะไรมาถามพี่เรื่อย ๆ นะคะ ถ้าหนูหาอ่านกระทู้แล้ว หนูยังไม่เข้าใจ หนูขอรบกวนด้วยนะคะ หนูกำลังพยามยามที่จะเรียนรู้ให้เข้าใจคะ
Date :
2014-02-18 22:36:12
By :
แอน
ได้เลยครับ
Date :
2014-02-18 22:36:54
By :
sakuraei
Load balance : Server 01