繁体   English   中英

将PHP / MySQLi结果显示为HTML表

[英]Displaying PHP/MySQLi results as HTML table

我单击HTML按钮以运行JS脚本,该脚本将日期条件(在页面上的其他位置输入)发布到PHP页面,然后查询MySQLi数据库。 我想在自动生成的HTML表中显示结果,并且希望该表在页面上的特定div中。 我的HTML代码是:

<div id="buttonContainer">
    <input type="button" id="reportButton" value="Generate Report" onclick="generateReport();">
</div>  
<div id="displayTable">
</div>

我的JS代码是:

window.generateReport = function(){    
    $.post("PhotoTopTen.php", {
        startdate: startDate,
        enddate: endDate,
    });
}

我的PHP代码是:

<?php
$startdate = date('Y-m-d H:i:s',strtotime($_POST["startdate"]));
$enddate = date('Y-m-d H:i:s',strtotime($_POST["enddate"]));
$con = mysqli_connect("localhost","User","password","dbase");
$sql="SELECT Document, COUNT(*) as count FROM table WHERE event LIKE 'Photo%' GROUP BY Document ORDER BY count DESC LIMIT 10";
$result = mysqli_query($con,$sql);
$data = array();
while($row = mysqli_fetch_assoc($result)) {
    $data[] = $row;
};
$colNames = array_keys(reset($data))
echo "<table><tr>";
foreach($colNames as $colName) {
    echo "<th>$colName</th>";
}
echo "</tr>";
foreach($data as $row) {
    echo "<tr>";
    foreach($colNames as $colName) {
        echo "<td>".$row[$colName]."</td>";
    }   
    echo "</tr>";
}
echo "</table>";

?>

我知道MySQLi查询有效,因为我已经在phpMyAdmin中对其进行了测试。 我也知道我的错误是将HTML标签回传到JS文件(而不是HMTL页面),但是我只是不知道该如何做。 我试过在JS脚本标签内回显HTML,但这似乎也不起作用。

您错过了在div中显示结果的机会。 尝试如下:

$.post("PhotoTopTen.php", {startdate: startDate,enddate: endDate}, function( data ) {
     $( "#displayTable" ).html( data );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM