如何使用Ajax从PHP中的数据库中获取数据

时间:2015-04-07 10:46:13

标签: php jquery mysql ajax

我想首先说我对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发送两个日期作为输入来计算价格总和?

2 个答案:

答案 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'并将其传递给您的查询