我在 HTML 页面上有一个表单,它将用户输入发布到 PHP,PHP 执行 SQL 语句以从数据库获取信息并将其输出为 JSON。这是我获取 JSON 数据的 PHP 代码:
<?php
header('Content-type:application/json');
$con = mysqli_connect('localhost','root','','dbname');
if(isset($_POST['submit']))
{
$artist = $_POST['artist'];
$select = mysqli_query($con, "SELECT * FROM tblname WHERE artistName = ". $artist);
$rows = array();
while($row = mysqli_fetch_array($select))
{
$rows[] = $row;
}
echo json_encode($rows);
};
?>
当我在 HTML 页面上提交表单时,它会转到 PHP 页面,并得到以下结果:
[{"0":"6","id":"6","1":"OASIS","artistName":"OASIS","2":"SOME MIGHT SAY","songTitle":"SOME MIGHT SAY","3":"1995-05-06","dateNo1":"1995-05-06"}]
(此问题的代码和 JSON 结果已简化)
我希望数据在 HTML 页面上很好地显示,而不是转到此页面,以便用户看不到此数组。我不知道该怎么做,有帮助吗?
谢谢!
最佳答案
如果您希望输出格式良好,为什么要使用 JSON 进行编码? JSON 虽然是人类可读的,但并不打算作为最终产品呈现在屏幕上。
我建议循环遍历 $rows 数组并构建一个简单的 HTML 表。当然,您可以将数据包装在您喜欢的任何标记中,甚至可以添加 CSS 以根据您的需要设置样式。下面是一个帮助您入门的示例:
echo "<table>";
foreach($rows as $row) {
foreach($row as $key => $value) {
echo "<tr>";
echo "<td>";
echo $key;
echo "</td>";
echo "<td>";
echo $value;
echo "</td>";
echo "</tr>";
}
}
echo "</table>";
如果您只想渲染一些数据,您可以简单地回显这些值:
foreach($rows as $row) {
{
echo "Artist:" . $row['artistName'];
echo "<br>";
echo "Song Title:" . $row['songTitle'];
echo "<br>";
echo "Date:" . $row['dateNo1'];
}
关于javascript - 显示使用 PHP 和 MySQL 创建的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40368708/