javascript - Ajax 从同一页面上的 mysql 加载表不起作用

标签 javascript php jquery mysql ajax

我正在尝试从同一页面上的 mySql 加载表,而不是重定向到不同的页面。我让用户选择日期范围,然后按提交,它应该显示在指定的 div id 标签中。然而它似乎不起作用。我已经测试了查询 php 页面本身并且它有效。感谢您的帮助。

html

<script>
$(document).ready(function(){
    //AJAX CALL
    function fireAjax(){
        var data1=document.getElementByID("from");
        var data2=document.getElementByID("to");

        if(data1 && data2){
            $.ajax({
                url:"chartRetrieve.php",
                type:"POST",
                data:{
                    range1:date1,
                    range2:date2,
                    },
                    success: function (response)
                    {
                    $('#chartDiv').html(response);
                    }
            });
        }
        else{
            $('#chartDiv').html("No Range Given");
        }

    }
});
</script>
      <div id ="form">
        <div id="date1">
          <form id="form1" name="form1" method="post" action="">
            <label for="from">From</label>
            <input type="text" id="from" name="from" />
            <label for="to">to</label>
            <input type="text" id="to" name="to" />
            <input type="button" id="btnLoad" name="btnLoad" value="Submit" onclick="fireAjax();"/>
          </form>
        </div>
      </div>
      <div id="chartDiv">Test</div>

php

<?php

    include("dbconnect.php");   

    $link=Connection();

    if(isset($_POST['range1']) && $_POST['range2'])
    {
    $data1 = $_POST['range1'];
    $data2 = $_POST['range2'];
    //$data1 = '2016-04-21 06:26:11';
    //$data2 = '2016-04-24 06:30:11';
    $result = mysql_query(
                          "
                          SELECT DISTINCT Date, Count
                          FROM testLocation 
                          WHERE Date 
                          BETWEEN '$data1%' AND '$data2%'
                          "
                          ,$link
                          );


      if($result!==FALSE){
             echo '<table cellpadding="0" cellspacing="0" class="db-table">';
             echo '<tr><th>Date</th><th>Count</th></tr>';
             while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                   echo '<tr>';
                   foreach($row as $key=>$value1){
                   echo '<td>', $value1,'</td>';
                   }
                   echo '<tr>';
             }
             echo '</table><br />';
             mysql_free_result($result);
             mysql_close();
          }
    }
    else{
        echo 'No Data';
    }
?>

最佳答案

没有关闭<tr>里面while foreach() 更新 echo 后。应该是echo '<\tr>'

关于javascript - Ajax 从同一页面上的 mysql 加载表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36904918/

相关文章:

php - 需要wordpress环境代码

javascript - 使用 document.location.href 或 window.location 或 window.location.href 在 Chrome 的 beforeunload 期间未重定向到指定的 URL

javascript - 样式浏览器滚动条

javascript - Next.js with Auth0 (using Passport.js) on Serverless Function

php - Codeigniter user_agent 不工作

php - 将 Sphinx 与 PHP 和 MySQL 一起使用的指南

javascript - jquery增加输入框值

javascript - 使用拖放 HTML 上传图片

javascript - 两种状态,其中 View 定义为一种状态

javascript - RiotJS onclick 加载时触发