|
|
|
ช่วยมาหน่อยครับว่ามันต้องเขียน code ยังไงเพิ่มครับ มีรูปตัวอย่างและCode |
|
|
|
|
|
|
|
จากรูปที่ 1 ตรงที่สีเหลือง ช่องสถานที่ส่ง กับ ช่องชื่อลูกค้า ของวันที่ 2015-11-19 ให้มันโชว์ข้อมูลยังไงอ่ะครับ ประมาณว่าในรุปที่1 ของผมได้เขียนไว้ว่า ถ้าค่าซ้ำกันจะโชว์แค่ค่าเดียว แต่ทีนี้ถ้าวันถัดไปลูกค้าคนเดิมมาซื้อมันจะไม่โชว์ อยากให้มันโชว์แต่ละวันอ่ะครับ มันต้องเขียน Code อะไรเพิ่มหรอครับ
รูปที่1
ไฟล์รายงานครับ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase1");
$strSQL = "SELECT DISTINCT tb_product.*, tb_customer.*, tb_receipt.*, tb_order_details.*, tb_order.* FROM tb_product,tb_customer,tb_receipt,tb_order_details,tb_order WHERE tb_order_details.Pd_ID = tb_product.Pd_ID AND tb_order.Cus_ID = tb_customer.Cus_ID AND tb_receipt.Order_ID = tb_order.Order_ID AND tb_order_details.Order_ID = tb_order.Order_ID AND (Order_Deliverydate between '".$_POST['startdate0']."' and '".$_POST['startdate1']."')order by Order_Date ASC";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<?php
$date = new DateTime($_POST['startdate0']);
$date1 = new DateTime($_POST['startdate1']);
?>
<center>
<h2>ร้านปริ้นเตอร์แคร์<br />
รายงานการจัดส่งสินค้าประจำวัน<br />
ตั้งวันที่ <?php echo date_format($date, 'd-m-Y'); ?> ถึงวันที่ <?php echo date_format($date1, 'd-m-Y'); ?></h2>
</center>
<table cellspacing=1 cellpadding=1 border=0 align="center">
<tr>
<td colspan="9">วันที่พิมพ์ <?php echo date('d-m-Y');?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<tr bgcolor="#66FF99">
<td width="80" align="center">วันที่จัดส่ง</td>
<td width="130" align="center">เลขที่ใบส่งสินค้า</td>
<td width="80" align="center">เลขที่สั่งซื้อ</td>
<td align="center">สถานที่ส่ง</td>
<td width="130" align="center">เลขที่ใบเสร็จรับเงิน</td>
<td width="160" align="center">ชื่อลูกค้า</td>
<td width="270" align="center">ชื่อสินค้า</td>
<td width="45">จำนวน</td>
<td width="80">ราคา (บาท)</td>
<td width="80" align="center">รวม (บาท)</td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<?php
$Order_Invoice_No = ''; $Order_ID = ""; $Order_Place = ""; $Receipt_ID = ""; $Cus_Name = ""; $Order_Deliverydate = ""; $sum=0; $total=0;
while($ro = mysql_fetch_array($objQuery)){
if($Order_Deliverydate && $Order_Deliverydate != $ro["Order_Deliverydate"] ){
////////// พิมพ์ยอดรวมรายวัน และเคลียร์ยอดรวมรายวันเป็น 0 พร้อมที่จะบวกใหม่///////////
?>
<tr bgcolor=#FF9966>
<td colspan="9" align="right">รวม </td>
<td align="right"><?php echo number_format($sum); $sum=0;?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<?php }
////////// พิมพ์รายละเอียดรายวัน ///////////
?>
<tr>
<td align="center"><?php echo ($Order_Deliverydate != $ro['Order_Deliverydate'])? $Order_Deliverydate=$ro['Order_Deliverydate'] : '' ;?></td>
<td align="center"><?php echo ($Order_Invoice_No != $ro['Order_Invoice_No'])? $Order_Invoice_No=$ro['Order_Invoice_No'] : '';?></td>
<td align="center"><?php echo ($Order_ID != $ro['Order_ID'])? $Order_ID=$ro['Order_ID'] : '';?></td>
<td ><?php echo ($Order_Place != $ro['Order_Place'])? $Order_Place=$ro['Order_Place'] : '';?></td>
<td align="center"><?php echo ($Receipt_ID != $ro['Receipt_ID'])? $Receipt_ID=$ro['Receipt_ID'] : '';?></td>
<td><?php echo ($Cus_Name != $ro['Cus_Name'])? $Cus_Name=$ro['Cus_Name'] : '';?></td>
<td><?php echo $ro['Pd_Name'];?></td>
<td align="center"><?php echo $ro['Od_Amount'];?></td>
<td align="right"><?php echo number_format($ro['Pd_Price']);?></td>
<td align="right"><?php echo number_format($ro['Od_Sum']);?></td>
</tr>
<?php
///////////////// sum ยอดรวม ///////////
$sum += $ro['Od_Sum']; $total +=$ro['Od_Sum'];
}
if($Order_Deliverydate){
////////////////////////// พิมพ์ยอดรวมรายวันรายการสุดท้าย //////////////////////
?>
<tr bgcolor=#FF9966>
<td colspan="9" align="right">รวม </td>
<td align="right"><?php echo number_format($sum);?></td>
</tr>
<?php }
////////////////////////// พิมพ์ยอดรวมทั้งหมด //////////////////////
?>
<tr>
<td colspan="10"><hr /></td>
</tr>
<tr bgcolor=#33FFFF>
<td colspan="9" align="right">รวมทั้งหมด </td>
<td align="right"><?php echo number_format($total);?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
</table>
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2015-11-24 19:46:04
|
|
|
|
|
Date :
2015-11-24 19:37:16 |
By :
beerlet |
View :
1432 |
Reply :
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้นวันใหม่ก็เคลียร์ของเก่าออก ให้เป็นค่า ว่าง สิครับ มันจะได้ ลงรายการใหม่ได้
|
|
|
|
|
Date :
2015-11-24 21:46:52 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-24 21:46:52
รายละเอียดของการตอบ ::
แบบนี้ถูกมั้ยครับ ตรงบรรทัดที่ 46 กับ 47 ครับ พี่ครับขอถามอีกอย่างครับจากรูปข้างบน วันที่ส่งมันเป็น 2015-11-16 (ปี-เดือน-วัน) ผมลอง format ให้เป็น วัน-เดือน-ปี ทำไม่ได้ครับ มันต้องทำไงครับหรอ บรรทัด 59 ครับ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase1");
$strSQL = "SELECT DISTINCT tb_product.*, tb_customer.*, tb_receipt.*, tb_order_details.*, tb_order.* FROM tb_product,tb_customer,tb_receipt,tb_order_details,tb_order WHERE tb_order_details.Pd_ID = tb_product.Pd_ID AND tb_order.Cus_ID = tb_customer.Cus_ID AND tb_receipt.Order_ID = tb_order.Order_ID AND tb_order_details.Order_ID = tb_order.Order_ID AND (Order_Deliverydate between '".$_POST['startdate0']."' and '".$_POST['startdate1']."')order by Order_Date ASC";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<?php
$date = new DateTime($_POST['startdate0']);
$date1 = new DateTime($_POST['startdate1']);
?>
<center>
<h2>ร้านปริ้นเตอร์แคร์<br />
รายงานการจัดส่งสินค้าประจำวัน<br />
ตั้งวันที่ <?php echo date_format($date, 'd-m-Y'); ?> ถึงวันที่ <?php echo date_format($date1, 'd-m-Y'); ?></h2>
</center>
<table cellspacing=1 cellpadding=1 border=0 align="center">
<tr>
<td colspan="9">วันที่พิมพ์ <?php echo date('d-m-Y');?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<tr bgcolor="#66FF99">
<td width="80" align="center">วันที่จัดส่ง</td>
<td width="130" align="center">เลขที่ใบส่งสินค้า</td>
<td width="80" align="center">เลขที่สั่งซื้อ</td>
<td align="center">สถานที่ส่ง</td>
<td width="130" align="center">เลขที่ใบเสร็จรับเงิน</td>
<td width="160" align="center">ชื่อลูกค้า</td>
<td width="270" align="center">ชื่อสินค้า</td>
<td width="45">จำนวน</td>
<td width="80">ราคา (บาท)</td>
<td width="80" align="center">รวม (บาท)</td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<?php
$Order_Invoice_No = ''; $Order_ID = ""; $Order_Place = ""; $Receipt_ID = ""; $Cus_Name = ""; $Order_Deliverydate = ""; $sum=0; $total=0;
while($ro = mysql_fetch_array($objQuery)){
if($Order_Deliverydate && $Order_Deliverydate != $ro["Order_Deliverydate"] ){
unset($Order_Place);
unset($Cus_Name);
////////// พิมพ์ยอดรวมรายวัน และเคลียร์ยอดรวมรายวันเป็น 0 พร้อมที่จะบวกใหม่///////////
?>
<tr bgcolor=#FF9966>
<td colspan="9" align="right">รวม </td>
<td align="right"><?php echo number_format($sum); $sum=0;?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
<?php }
////////// พิมพ์รายละเอียดรายวัน ///////////
?>
<tr>
<td align="center"><?php echo ($Order_Deliverydate != $ro['Order_Deliverydate'])? $Order_Deliverydate=$ro['Order_Deliverydate'] : '' ;?></td>
<td align="center"><?php echo ($Order_Invoice_No != $ro['Order_Invoice_No'])? $Order_Invoice_No=$ro['Order_Invoice_No'] : '';?></td>
<td align="center"><?php echo ($Order_ID != $ro['Order_ID'])? $Order_ID=$ro['Order_ID'] : '';?></td>
<td ><?php echo ($Order_Place != $ro['Order_Place'])? $Order_Place=$ro['Order_Place'] : '';?></td>
<td align="center"><?php echo ($Receipt_ID != $ro['Receipt_ID'])? $Receipt_ID=$ro['Receipt_ID'] : '';?></td>
<td><?php echo ($Cus_Name != $ro['Cus_Name'])? $Cus_Name=$ro['Cus_Name'] : '';?></td>
<td><?php echo $ro['Pd_Name'];?></td>
<td align="center"><?php echo $ro['Od_Amount'];?></td>
<td align="right"><?php echo number_format($ro['Pd_Price']);?></td>
<td align="right"><?php echo number_format($ro['Od_Sum']);?></td>
</tr>
<?php
///////////////// sum ยอดรวม ///////////
$sum += $ro['Od_Sum']; $total +=$ro['Od_Sum'];
}
if($Order_Deliverydate){
////////////////////////// พิมพ์ยอดรวมรายวันรายการสุดท้าย //////////////////////
?>
<tr bgcolor=#FF9966>
<td colspan="9" align="right">รวม </td>
<td align="right"><?php echo number_format($sum);?></td>
</tr>
<?php }
////////////////////////// พิมพ์ยอดรวมทั้งหมด //////////////////////
?>
<tr>
<td colspan="10"><hr /></td>
</tr>
<tr bgcolor=#33FFFF>
<td colspan="9" align="right">รวมทั้งหมด </td>
<td align="right"><?php echo number_format($total);?></td>
</tr>
<tr>
<td colspan="10"><hr /></td>
</tr>
</table>
|
|
|
|
|
Date :
2015-11-24 22:35:33 |
By :
beerlet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอโห เคลียร์เป็นค่าว่างครับ ไม่ใช่ค่า null คนละความหมาย
$a = ''; // = ค่าว่าง ตัวแปรยังอยู่
$a = null | unset($a); // ค่า null ไม่มึค่า ไม่มีตัวตน ไม่มีตัวแปรอยู่ในสารบบ
ปล. ลืมคำถามวันที่
Code (PHP)
$dte = '2015-12-15';
echo preg_replace('/(\d{4})-(\d{2})-(\d{2})/', '$3-$2-$1', $dte);
|
ประวัติการแก้ไข 2015-11-25 06:30:31
|
|
|
|
Date :
2015-11-25 04:34:54 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
($Order_Deliverydate !=($bdate = preg_replace('..','..', $ro['Order_Deliverydate'])))? $Order_Deliverydate=$bdate : '' ;
?>
.. ลอกมาใส่เอาเองนะครับ
|
|
|
|
|
Date :
2015-11-25 17:40:33 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ควรไปตรวจสอบที่บันทัด 26 ลอง apply ดูเองก่อนนะครับ คิดว่าเป็นการบ้านก็แล้วกัน
ดูจากตัวอย่างที่ทำไว้น่ะครับ พรุ่งนี้ถ้ายังไม่ได้ ค่อยว่ากันต่อ
|
|
|
|
|
Date :
2015-11-25 19:16:48 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี 2 ที่ๆต้องทำ สำหรับการตรวจสอบ
1 ตรวจสอบเบื่องต้นด้วย javascript ที่หน้าเพจ เมื่อเกิด event onchange ณ object input
หรือ ตรวจสอบ ด้วย event form onsubmit ก็แล้วแต่ถนัด
2 ตรวจสอบในไฟล์ php ตัวรับข้อมูล
|
|
|
|
|
Date :
2015-11-26 07:38:13 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่มีความรู้ javascript เลย ก็ใช้ php ตรวจสอบในไฟล์รับข้อมูลเอาครับ
พร้อมเมื่่อไหร่ค่อยไปศึกษา javascript เอาที่หลัง
ตัวอย่างก็ลองเสริชหาเอาในไทยครีเอจนี้แหล่ะครับ มีเยอะสำหรับตัวอย่าง
ก็ศึกษาเอาเองนะครับ
ผมชอบคอมเม้นท์โค๊ดที่มีปัญหามากกว่าเขียนให้เลย
อย่างน้อยมีโค๊ดมาโชว์ก็เป็นตัวอย่างให้คนอื่นเห็นด้วย
อยากได้ก็ต้องมีการแรกเปลี่ยน ให้ของตัวเองออกมาก่อน
แล้วค่อยรับที่หลัง แม้โค๊ดจะผิดแต่มันก็เป็น ไอเดียให้คนอื่นได้
ประเภทถามแต่คำถามไม่มีอะไรเลย ผมจะไม่ตอบแล้วล่ะครับ
อาจจะตอบก็แค่โค๊ดบันทัด สองบันทัด
|
|
|
|
|
Date :
2015-11-26 10:28:51 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-11-27 09:06:10 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|