MSSQL 2008 r2 の SQLSRV で PHP を使用しています。
私ができるようにしたいのは、2つの日付を2つの入力ボックスに入力し、注文の合計数と合計値の例とともに、目的の日付間のレコードのみを表示することです:
2013 年 5 月 24 日から 2013 年 5 月 29 日の間に出された注文の数を表示したいので、2 つの注文が出され、合計値 = 50 の行に沿って出力が得られます。
多分これは私が思うより簡単です。PHP と SQLSRV は初めてです。これを実装する最良の方法は何ですか?
**Orders Table**
OrderId CustomerID OrderDate OrderValue
1 1 2013-05-29 23.00
2 2 2013-05-26 23.00
3 2 2013-05-26 27.00
4 3 2013-05-24 23.00
** * ** * ***編集* ** * ** * ** * ** * ****
オーケー、ショーンのおかげで、出発点ができました。彼のクエリを次のデモ スクリプトに入れましたが、実行されません。どこが間違っているのでしょうか?
Form.php
<form action="action.php" method="post" >
<input name="StartDate" type="text" id="StartDate" value="start"/>
<input name="StartDate" type="text" id="EndDate" value="end"/>
<input type="submit" name="submit" >
</form>
Action.php このページは SQL 計算を返します
<?php
include("connect.php");
?>
<?php
DECLARE @StartDate datetime
DECLARE @EndDate datetime
DECLARE @CustomerID int
SET @StartDate = '05/24/2013' /* FORM.StartDate */
SET @EndDate = '05/29/2013' /* FORM.EndDate */
SET @CustomerID = 2 /* FORM.CustomerID */
/* Get the TotalOrderValue for All CustomerIDs */
$sql ="SELECT CustomerID, sum(OrderValue) AS TotalOrderValue
FROM Orders
WHERE OrderDate >= @StartDate
AND OrderDate < dateAdd(d,1,@EndDate)
GROUP BY CustomerID
ORDER BY CustomerID";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
$CustomerID = sqlsrv_get_field( $stmt, 0);
echo "$TotalOrderValue: ";
?>