กดค้นหา ระหว่างวันที่ สามารถทำได้ แต่ค้นหา ชื่อสมาชิก ไม่สามารถ ค้นหาได้ครับ
Code (PHP)
<?php
require_once("../includes/template.php");
require_once("../includes/function.php");
require_once("includes/shopping_function.php");
require_once('../calendar/classes/tc_calendar.php');
show_header("ผู้ดูแลระบบ: รายงานสรุป");
show_menu();
check_authen("admin");
$dblink = connect_db();
checkExpiredOrder();
if (!empty($_REQUEST["date3"]) || !empty($_REQUEST["date4"])) {
$beginDate = $_REQUEST["date3"] ;
$endDate = $_REQUEST["date4"] ;
}
?>
<link href="../calendar/calendar.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="../calendar/calendar.js"></script>
<style type="text/css">
body { font-size: 11px; font-family: "verdana"; }
pre { font-family: "verdana"; font-size: 10px; background-color: #FFFFCC; padding: 5px 5px 5px 5px; }
pre .comment { color: #008000; }
pre .builtin { color:#FF0000; }
</style>
<table bgcolor="#FFCC00" border="0" width="95%" style="font-weight:bold; color:#666666">
<tr bgcolor="#FFFFCC" height="30" align="center">
<form action="admin_report1.php" method="post">
<td colspan="9" align="left">
<div style="float: left;">
<div style="float: left; padding-right: 3px; line-height: 18px;">รายงานสรุปยอดขาย : </div>
<div style="float: left;">
<?php
$thisweek = date('W');
$thisyear = date('Y');
$dayTimes = getDaysInWeek($thisweek, $thisyear);
//----------------------------------------
$date1 = date('Y-m-d', $dayTimes[0]);
$date2 = date('Y-m-d', $dayTimes[(sizeof($dayTimes)-1)]);
function getDaysInWeek ($weekNumber, $year, $dayStart = 1) {
// Count from '0104' because January 4th is always in week 1
// (according to ISO 8601).
$time = strtotime($year . '0104 +' . ($weekNumber - 1).' weeks');
// Get the time of the first day of the week
$dayTime = strtotime('-' . (date('w', $time) - $dayStart) . ' days', $time);
// Get the times of days 0 -> 6
$dayTimes = array ();
for ($i = 0; $i < 7; ++$i) {
$dayTimes[] = strtotime('+' . $i . ' days', $dayTime);
}
// Return timestamps for mon-sun.
return $dayTimes;
}
$date3_default = "2013-10-21";
$date4_default = date;
$myCalendar = new tc_calendar("date3", true, true);
$myCalendar->setIcon("../calendar/images/iconCalendar.gif");
$myCalendar->setDate(date('d', strtotime($date1)), date('m', strtotime($date1)), date('Y', strtotime($date1)));
$myCalendar->setPath("../calendar/");
$myCalendar->setYearInterval(1970, 2020);
//$myCalendar->dateAllow('2009-02-20', "", false);
$myCalendar->setAlignment('left', 'bottom');
$myCalendar->setDatePair('date3', 'date4', $date2);
//$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-04", "2011-12-25"), 0, 'year');
$myCalendar->writeScript();
?>
</div>
</div>
<div style="float: left;">
<div style="float: left; padding-left: 3px; padding-right: 3px; line-height: 18px;">to</div>
<div style="float: left;">
<?php
$myCalendar = new tc_calendar("date4", true, true);
$myCalendar->setIcon("../calendar/images/iconCalendar.gif");
$myCalendar->setDate(date('d', strtotime($date2)), date('m', strtotime($date2)), date('Y', strtotime($date2)));
$myCalendar->setPath("../calendar/");
$myCalendar->setYearInterval(1970, 2020);
//$myCalendar->dateAllow("", '2009-11-03', false);
$myCalendar->setAlignment('left', 'bottom');
$myCalendar->setDatePair('date3', 'date4', $date1);
//$myCalendar->setSpecificDate(array("2011-04-01", "2011-04-04", "2011-12-25"), 0, 'year');
$myCalendar->writeScript();
echo '<input type="submit" value="ตกลง" name="btnOK" />';
// print "<input type='button' value='พิมพ์' onclick='printOut()'/>"
// print "<a href='admin_print_out1.php?beginDate=$beginDate&endDate=$endDate' target='_blank'>พิมพ์</a>";
?> </div>
</div>
</td>
</form>
<form action="<?php echo $_SERVER['PHP_SELF'] ; ?>" method="post">
<tr height="20">
<td bgcolor="#FFFFCC" align="center" width="20%">ค้นหา</td>
<td bgcolor="#FFFFCC" width="80%" colspan="8">
ชื่อลูกค้า : <input name="txtWord" type="text" size="25" />
<input name="btnSearch" type="submit" value="ค้นหา" />
</td>
</tr>
</form>
<?php
if ( isset($_POST["btnSearch"]) || !empty($_GET["txtWord"]) ) {
if ( isset( $_POST["btnSearch" ] ) ) {
$word = $_POST["txtWord"] ;
}
}
echo $word;
?>
</tr>
<tr bgcolor="#996633" height="30" style="color:#FFFFFF;" align="center">
<td>เลขที่ใบสั่งซื้อ</td>
<td>วันที่สั่งซื้อ</td>
<td>ชื่อลูกค้า</td>
<td>ชื่อร้านค้า</td>
<td>โปรโมชั่น (ส่วนลด)</td>
<td>ราคาขาย (บาท)</td>
<td>จำนวน (เล่ม)</td>
<td>ราคาขายxจำนวน <br/>(บาท)</td>
<td>สถานะใบสั่งซื้อ</td>
</tr>
<?php
$sqlOrder = "SELECT o.orderID, oi.bISBN, oi.pbID, o.oShipName, b.ShopName, o.oStatus, SUM(oi.oiQuantity) AS bQuantity, o.oDateTime
FROM bsOrders AS o, bsOrderItems AS oi, bsMemberDetail AS b
WHERE o.orderID = oi.orderID AND o.mUserName = b.mUserName AND o.oStatus=5 AND DATE(o.oDateTime) BETWEEN '$beginDate' AND '$endDate' AND o.oShipName LIKE '%".$_GET["txtWord"]."%' GROUP BY o.oDateTime, oi.bISBN, oi.pbID, oi.oiQuantity, o.oShipName ";
//echo "data sql>>".$sqlOrder."<br>";
$dblink = connect_db();
$reOrder = mysqli_query($dblink, $sqlOrder);
$numOrder = mysqli_num_rows($reOrder);
if ($numOrder == 0 || $_GET["txtWord"] != "" ) {
echo '<tr bgcolor="#FFFFCC" align="center"><td colspan="9">ไม่มีรายการสั่งซื้อสินค้าในวันเดือนปีที่ค้นหา</td></tr>';
}
else {
$row = 1;
while ($rowOrder = mysqli_fetch_array($reOrder, MYSQL_ASSOC)) {
$seBook = "SELECT bPrice FROM bsBooks WHERE bISBN = '" . $rowOrder["bISBN"] . "'";
$reBook = mysqli_query($dblink, $seBook);
$rowBook = mysqli_fetch_array($reBook, MYSQL_ASSOC);
$price = $rowBook["bPrice"];
$thaidate = get_datethai($rowOrder["oDateTime"], "digit");
$seName ="SELECT oShipName FROM bsOrders WHERE oShipName = '" . $rowOrder["oShipName"] . " ' ";
$reName = mysqli_query($dblink,$seName);
$rowName = mysqli_fetch_array($reName, MYSQL_ASSOC);
$seShopName="SELECT ShopName FROM bsMemberdetail WHERE ShopName='".$rowOrder["ShopName"]."'";
$reShopName=mysqli_query($dblink,$seShopName);
$rowShopName=mysqli_fetch_array($reShopName,MYSQL_ASSOC);
$sesta ="SELECT oStatus FROM bsOrders WHERE oStatus = '" . $rowOrder["oStatus"] . "' ";
$resta = mysqli_query($dblink,$sesta);
$rowsta = mysqli_fetch_array($resta, MYSQL_ASSOC);
if (!empty($rowOrder["pbID"])) {
$sePB = "SELECT proDiscount FROM bsPromotions AS p, bsPromotionBook AS pb WHERE p.proID = pb.proID AND pbID = " . $rowOrder["pbID"];
$rePB = mysqli_query($dblink, $sePB);
$rowPB = mysqli_fetch_array($rePB, MYSQL_ASSOC);
$sale = calculate_salePrice($price, $rowPB["proDiscount"]);
$discount = $rowPB["proDiscount"] . "%";
} else {
$sale = $price;
$discount = "-";
}
$total_price = $sale * $rowOrder["bQuantity"];
$total = $total + $total_price;
$sum += $rowOrder["bQuantity"];
echo $mName ;
if ( $rowsta["oStatus"] == "5" ) {
echo '<tr bgcolor="#FFFFCC"> '
?>
<td align="center"><a href="<?php echo "print_orderAdmin.php?oid=".$rowOrder["orderID"] ; ?>" target="_blank" title="ดูรายละเอียด หรือพิมพ์ใบสั่งซื้อ" class="menulink2"><?php echo get_orderid( $rowOrder["orderID"] ) ; ?></a></td>
<?php echo ' <td>' . $thaidate . '</td>
<td> '.$rowName["oShipName"].' </td>
<td> '.$rowShopName["ShopName"].' </td>
<td align="center">' . $discount . '</td>
<td align="right">' . number_format($sale, 2) . '</td>
<td align="center">' . $rowOrder["bQuantity"] . '</td>
<td align="right">' . number_format($total_price, 2) . '</td>
<td align="center">' .เสร็จสมบูรณ์. '</td>
</tr>';
$row++;
}}
echo '<tr bgcolor="#FFFFCC">
<td colspan="7" align="right">รวมทั้งหมด(บาท)</td>
<td align="right">' . number_format($total, 2) . '</td>
<td align="right"></td>
</tr>
<tr><td align="center" colspan="9"><input name="print" type="submit" id="print" value="Print" onClick="window.print()"/></td></tr>';
print "
<tr bgcolor='#FFFFCC' style='color:red'><td colspan='9'>
หมายเหตุ <br/><br/>รายงานสรุปยอดขาย จะสรุปเฉพาะรายการสั่งซื้อที่มีการจัดส่งสินค้าให้แล้วเท่านั้น
</td></tr>";
}
echo '</table>';
show_footer();
?>
กดค้นหา ระหว่างวันที่ สามารถทำได้ แต่ค้นหา ชื่อสมาชิก ไม่สามารถ ค้นหาได้ครับTag : PHP
Date :
2013-10-28 18:08:27
By :
artyart
View :
793
Reply :
5
BETWEEN '$beginDate' AND '$endDate' AND o.oShipName LIKE '%".$_GET["txtWord"]."%'
"ระหว่างวันที่ สามารถทำได้ แต่ค้นหา ชื่อสมาชิก ไม่สามารถ ค้นหาได้" ดูจาก Code เป็นการหาในเงื่อนไขเดียวกัน
เงื่อนไขจะเป็นจริงได้ วันที่ค้นหา และ ชื่อ ต้องอยู่ในเรดคอร์ดเดียวกัน (เข้าใจเหมือนกันไหมครับ)
เพราะเงื่อนไขมันเป็น"และ"เลยไม่เจอข้อมูลที่ต้องการหรือเปล่า
แต่ถ้าถูกต้องตามต้องการลองใส่วงเล็บแยกเงื่อนไขออกจากกันดูครับ
ประวัติการแก้ไข 2013-10-29 09:14:29 2013-10-29 09:16:06
Date :
2013-10-29 01:22:19
By :
apisitp
ตอบความคิดเห็นที่ : 1 เขียนโดย : apisitp เมื่อวันที่ 2013-10-29 01:22:19
รายละเอียดของการตอบ ::
เงื่อนไขจะเป็นจริงได้ วันที่ค้นหา และ ชื่อ ต้องอยู่ในเรดคอร์ดเดียวกัน (เข้าใจเหมือนกันไหมครับ)
วันที่ค้นหา และ ชื่อ อยู่ในเรดคอร์ดเดียวกันครับ ลองใส่วงเล็บแล้ว ก็ ไม่ได้เหมือนเดิมครับ
Code (PHP)
$sqlOrder = "SELECT o.orderID, oi.bISBN, oi.pbID, o.oShipName, b.ShopName, o.oStatus, SUM(oi.oiQuantity) AS bQuantity, o.oDateTime
FROM bsOrders AS o, bsOrderItems AS oi, bsMemberDetail AS b
WHERE o.orderID = oi.orderID AND o.mUserName = b.mUserName AND o.oStatus=5 AND DATE(o.oDateTime) BETWEEN ('$beginDate') AND ('$endDate') AND (o.oShipName LIKE '%".$_POST["txtWord"]."%') GROUP BY o.oDateTime, oi.bISBN, oi.pbID, oi.oiQuantity, o.oShipName ";
แต่ถ้าลบ การค้นหาวันที่ออก สามารถค้นหาตามชื่อได้ ครับ
Code (PHP)
AND DATE(o.oDateTime) BETWEEN ('$beginDate') AND ('$endDate')
Date :
2013-10-29 18:53:16
By :
artyart
ใส่ครอบก้อน between แยกกับ ชื่อ ม่ะช่ายครอบเวลาแบบนั้น หุหุ
อีกทางลองเอาคิวรี่นี้ แทนค่าแล้วไปวางใน phpmyadmin ดู
หรือ จาก phpmyadmin มันจะมี tab search อยู่ ลองไปใช้ แล้วดู code ที่ได้มาเทียบกับของเราดูอีกรอบ
$sqlOrder = "SELECT o.orderID, oi.bISBN, oi.pbID, o.oShipName, b.ShopName, o.oStatus, SUM(oi.oiQuantity) AS bQuantity, o.oDateTime
FROM bsOrders AS o, bsOrderItems AS oi, bsMemberDetail AS b
WHERE o.orderID = oi.orderID AND o.mUserName = b.mUserName AND o.oStatus=5 AND (o.oDateTime BETWEEN '$beginDate' AND '$endDate' ) AND (o.oShipName LIKE '%".$_POST["txtWord"]."%') GROUP BY o.oDateTime, oi.bISBN, oi.pbID, oi.oiQuantity, o.oShipName ";
ไม่แน่ใจว่าถูกป่าวนะ
ประวัติการแก้ไข 2013-10-29 20:58:33 2013-10-29 21:01:13 2013-10-29 21:02:14
Date :
2013-10-29 20:58:32
By :
apisitp
Date :
2013-10-30 01:12:45
By :
apisitp
Load balance : Server 05