javascript - 显示使用 PHP 和 MySQL 创建的 JSON 数据

标签 javascript php jquery mysql json

我在 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/

相关文章:

javascript - 使用 url 参数在 html 文件中打开 View

php - mysql_real_escape_string() 不应该在数据库中留下斜杠吗?

jquery - 使用 CodeIgniter (Active Record) 从数据库自动完成

javascript - 调整 jQuery 脚本以添加父元素的高度

javascript - 按 Angular 6 中的对象字段对对象数组进行排序

javascript - CKEditor Config - 如何在已经使用 Builder 自动构建后手动安装 1 个附加插件

javascript - 更改网站上的默认选项卡功能

php - JQuery 下拉菜单与 MySQL

javascript - jQuery 改变行的值

javascript - 找不到管道 : Angular 5 custom pipe