我想首先说我对Ajax是全新的,所以请耐心等待。 我必须计算两个日期之间出售的所有价格的总和作为输入。
这是我的表
Product_ID----ProductName------price------OrderDate
--- 1 -------- Chair -------- 7 ------ 2015-01-05
--- 2 -------- Lamp --------- 14 ----- 2015-01-16
--- 3 -------- Table -------- 9 ------ 2015-02-25
这是我的HTML
<html>
<head>
<script>
function showPrice(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","getprice.php?q="+str,true);
xmlhttp.send();
}
}
</script>
</head>
<body>
<form>
<input type="date" name="startdate">
<p>To</p>
<input type="date" name="enddate">
<br><br>
<button type="submit" name="submit"
onclick="showAge(this.value)">Calculate</button>
</form>
<br>
<div id="txtHint"><b>Age will be listed here...</b></div>
</body>
</html>
这是我的MySQL查询
SELECT SUM(price) AS TotalPrice
FROM orders
WHERE OrderDate >= '11/11/2014' AND OrderDate <= '15/11/2015'
所以我的问题是,如何使用ajax发送两个日期作为输入来计算价格总和?
答案 0 :(得分:1)
将此行更改为
xmlhttp.open( “GET”, “?getprice.php Q =” + STR,TRUE);
xmlhttp.open("GET","getprice.php?q1="+str1+"&q2="+str2,true);
和str1和str2将是你的两个日期,11/11/2014&amp; 15/11/2015。您必须将此日期修改为Y-m-d格式。
您可以像这样转换日期,
$date = '10.21.2011';
echo date('Y-m-d', strtotime(str_replace('.', '/', $date)));
答案 1 :(得分:1)
尝试这样,
var date1 = $('#startdate').val();
var date2 = $('#enddate').val();
xmlhttp.open("GET","getprice.php?q1="+date11+"&q2="+date2,true);
然后将日期格式化为'Y-m-d'
并将其传递给您的查询