【问题标题】:Using AJAX to load SQL table into HTML table使用 AJAX 将 SQL 表加载到 HTML 表中
【发布时间】:2017-04-03 16:20:08
【问题描述】:

我正在尝试使用 AJAX 将多个 SQL 查询加载到 HTML 表中。我一直在使用使用 AJAX 将值加载到选项框中的教程作为我的基础,但无法让它工作。

HTML 文件底部的 AJAX 脚本:

<script>
$(document).ready(function($) {
  var list_target_id = "tableDiv";
  var list_select_id = "year";
  var initial_target_html = "Fill in option boxes first";

  $('#'+list_target_id).html(initial_target_html);

  $('#'+list_select_id).change(function(e) {
    var year = $(this).val();
    var month = $(month).val();
    var companyID = $(company).val();

    if (year == "" && companyID == "" && month == "") {
       $('#'+list_target_id).html(initial_target_html);
    } else {
      $.ajax({url: 'ajax-getvalues2.php?month='+month+'&year='+year&companyID='+companyID,
             success: function(output) {

                $('#'+list_target_id).html(output);
            },
          error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status + " "+ thrownError);
          }});
        }
    });
});
</script>

ajax-getvalues2.php:

<?php  
$connection = mysqli_connect("localhost", "Query", "Query", "database1");

$companyID = mysqli_real_escape_string($connection, $_GET['companyID']);
$month = mysqli_real_escape_string($connection, $_GET['month']);
$year = mysqli_real_escape_string($connection, $_GET['year']);

$date = $year + "/" + $month + "/01";

$date1 = $date.setMonth(date.setMonth()-1);
$date2 = $date.setMonth(date.setMonth()-2);
$date3 = $date.setMonth(date.setMonth()-3);
$date4 = $date.setMonth(date.setMonth()-4);
$date5 = $date.setMonth(date.setMonth()-5);
$date6 = $date.setMonth(date.setMonth()-6);

echo     '<table id="myTable" class="table table-hover table-bordered">';

mysqli_select_db($connection, "database1");

$array = mysqli_query($connection, "SELECT DISTINCT buildingList.siteName, buildingList.siteId FROM buildingList INNER JOIN meterList ON buildingList.siteId = meterList.siteId WHERE buildingList.companyID = '$companyID' AND meterList.meterType = '$meterType'");


for (i=0, i < array.length, i++){
$siteId = $array[i];


$q2= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date1'");
$q3= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date2'");
$q4= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date3'");
$q5= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date4'");
$q6= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date5'");
$q7= mysqli_query($connection, "SELECT value FROM meterList WHERE siteId = '$siteId' AND meterType.meterList = '$meterType' AND date = '$date6'");

echo '<td>' array[i] "</td>";
echo '<td contenteditable='true' type="text"  onkeyup="consumption()">"  "</td>";
echo '<td>' .$row['q2']. '</td>';
echo '<td></td>';
echo '<td>' .$row['q3']. '</td>';
echo '<td></td>';
echo '<td>' .$row['q4']. '</td>';
echo '<td></td>';
echo '<td>' .$row['q5']. '</td>';
echo '<td></td>';
echo '<td>' .$row['q6']. '</td>';
echo '<td></td>';
echo '<td>' .$row['q7']. '</td>';
echo '<td></td>';

}

echo "</table>";

mysqli_free_result($result);
mysqli_close($connection);

?>

1月输入php文件的月份为“01”,2016年输入年份为“2016”,然后组合成年/月/01等日期。

我不确定我哪里出错了,但请给我一些建议。在此先感谢:)

【问题讨论】:

  • 究竟是什么在起作用?你看到错误了吗?数据格式是否错误?你必须给我们一个关于什么不起作用的线索......
  • @SloanThrasher 我已经尝试进入浏览器并转到localhost/…,但页面仍然是空白,我原以为会显示一些内容
  • 启用错误报告
  • @MasivuyeCokile 我已将“ ini_set('display_errors', 'On'); ”添加到顶行,但当我进入网页时仍然没有显示任何内容
  • Var_dump() 你的结果

标签: javascript php jquery ajax


【解决方案1】:

您的脚本无法编译,因此您什么也看不到。例如,这行:

echo '<td>' array[i] "</td>";

应该是:

echo '<td>' . array[i] . "</td>";

它们可能是其他错误。 PHP错误开启报错方式为:

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR | E_STRICT);

将它放在脚本中第一个 \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多