สอบถาม รายงานสินค้าขายดี แบบรายเดือน เเละค้นหาตาม เดือน ปี ครับ
ผมจะรายงานสินค้าขายดี ตามเดือนครับ
แบบนี้ครับ
เเต่พอใส่ ตัวค้นหาข้อมูลเข้าไป ขึ้น error ครับ
Code (SQL)
SELECT Product_ID,count(*) as cnt ,DATE_FORMAT(OrderDate,'%Y-%m') As MyDate FROM orders_detail group by Product_ID,MyDate WHERE 1 AND DATE_FORMAT(OrderDate,'%Y-%m')='2015-10'
Code (PHP)
<form name="frm" method="get" action="<?=$_SERVER['furniture/PHP_SELF'];?>" enctype="multipart/form-data">
<table width="86%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#e4eaf2">
<tr>
<td width="79%"><div align="center"><span class="style6">ช่วงเดือน</span>
<select name="FromMM" id="FromMM" class="txtbox">
<?
for($i=1;$i<=12;$i++)
{
if($_GET["FromMM"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$i;?>" <?=$sel;?>>
<?=substr("0$i",-2);?>
</option>
<?
}
?>
</select>
ปี
<select name="FromYY" id="FromYY" class="txtbox">
<?
for($i=date("Y");$i>=date("Y")-4;$i--)
{
if($_GET["FromYY"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$i;?>" <?=$sel;?>>
<?=$i+543;?>
</option>
<?
}
?>
</select>
<input type="submit" class="button" value="View">
<input name="View" type="hidden" id="View" value="V">
<input name="status" type="hidden" value="Y">
</div></td>
</tr>
</table>
<table width="86%" height="10" border=1 align="center" cellpadding=1 cellspacing=1 bordercolor="#dcdcdc" bgcolor=#e4eaf2>
<tbody>
<tr bgcolor=#e5e5e5>
<td bgcolor="#F0F0F0"><div align="center" class="style7">ลำดับ</div></td>
<td bgcolor="#F0F0F0"><div align="center" class="style7">รหัสสินค้า</div></td>
<td bgcolor="#F0F0F0"><div align="center" class="style7">ชื่อสินค้า</div></td>
<td bgcolor="#F0F0F0"><div align="center" class="style7">วันที่</div></td>
</tr>
<?
$i=0;
$Per_Page =31;
if($_GET["View"] == "V")
{
$strCondition = " AND DATE_FORMAT(OrderDate,'%Y-%m')='$_GET[FromYY]-$_GET[FromMM]' ";
$Per_Page =1000;
}
$sql = "SELECT Product_ID,count(*) as cnt ,DATE_FORMAT(OrderDate,'%Y-%m') As MyDate FROM orders_detail group by Product_ID,MyDate WHERE 1 $strCondition";
//echo $sql;
$result = mysql_query($sql) or die ("Error Query [".$sql."]");
$Num_Rows = mysql_num_rows($result);
$sql .= "order by MyDate desc LIMIT $Page_Start , $Per_Page";
$i=0;
$query1 = mysql_query($sql);
while($objResult1= mysql_fetch_array($query1)){
$pd=$objResult1['Product_ID'];
$strSQL2 = "SELECT * FROM product where Product_Id=$pd " ;
$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
while($objResult2 = mysql_fetch_array($objQuery2))
{
$i++;
$total1 = $sum;
?>
<tr bgcolor=#e5e5e5>
<td width="38" bgcolor="#FFFFFF"> <div align="center">
<?=$i;?>
</div></td>
<td width="256" bgcolor="#FFFFFF"> <div align="center"><?php echo $objResult1["Product_ID"];?></div></td>
<td width="116" bgcolor="#FFFFFF"><div align="center"><?php echo $objResult2["Product_Name"];?></div></td>
<td width="112" align="center" bgcolor="#FFFFFF"><div align="center"><?php echo $objResult1["MyDate"];?></div></td>
</tr>
<?
}}
?></form>
Tag : PHP, MySQL
ประวัติการแก้ไข 2015-10-26 15:34:15
Date :
2015-10-26 15:32:39
By :
ifirstinw
View :
1538
Reply :
1
เอา where มาไว้ก่อน group by ครับ
ปล. หลัง group by ใช้ having ครับ เอา result จาก group by มา where
ประวัติการแก้ไข 2015-10-26 17:12:44
Date :
2015-10-26 17:10:58
By :
NewbiePHP
Load balance : Server 01