【问题标题】:How to use Ajax to fetch data from database in PHP如何使用 Ajax 在 PHP 中从数据库中获取数据
【发布时间】:2015-04-07 10:46:12
【问题描述】:

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

【问题讨论】:

  • 该查询不起作用。
  • 你的问题是什么?您对此做了什么尝试?请通过添加有关阻止您的实际事物的更多信息来改进您的问题。
  • 数据库仅允许 Y-m-d 日期格式,因此请相应地转换您的日期
  • @SunilPachlangia,此查询有效,因为我已经对其进行了测试。我需要知道如何在 Ajax 方法中发送两个日期来计算价格总和。谢谢

标签: php jquery mysql ajax


【解决方案1】:

将此行改为,

xmlhttp.open("GET","getprice.php?q="+str,true);

xmlhttp.open("GET","getprice.php?q1="+str1+"&q2="+str2,true); 

str1 和 str2 将是您的两个日期,2014 年 11 月 11 日和 2015 年 11 月 15 日。您必须将此日期修改为 Y-m-d 格式。

你可以这样转换日期,

$date = '10.21.2011';
echo date('Y-m-d', strtotime(str_replace('.', '/', $date)));

【讨论】:

    【解决方案2】:

    试试这样,

    var date1 = $('#startdate').val();
    var date2 = $('#enddate').val();
    
        xmlhttp.open("GET","getprice.php?q1="+date11+"&q2="+date2,true);
    

    然后将日期格式化为'Y-m-d' 并将其传递给您的查询

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 2015-07-21
      相关资源
      最近更新 更多