分享好友 教程首页 教程搜索 频道列表

html+ajax+PHP+mysql实现数据展示在前端页面

2020-06-30 16:5018480
+关注2
核心提示:1、使用Navicat for MySQL创建数据库和表Navicat for MySQL使用起来十分简单,不用...


1、使用Navicat for MySQL创建数据库和表

Navicat for MySQL使用起来十分简单,不用像PHP创建数据库和表的时候需要写代码来完成,具体操作此处不再详细介绍,可以参考以下网址进行创建:

创建好的数据库和表如下图所示: 


2、使用PHP从 MySQL 数据库读取数据

以下实例中我们从student数据库的studentinfo表读取了studentID,studentName,class,department和 teleNumber列的数据并显示在页面上:

<?php
//header("Content-type=text/html;charset=utf-8");
//header('Content-type:text/json');
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "student";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 

mysqli_query($conn, 'set names utf8');
$sql = "SELECt studentID, studentName, class, department,teleNumber FROM studentinfo";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo json_encode($row,JSON_UNESCAPED_UNICODE).' ';
    }
} else {
    echo "0 结果";
}
$conn->close();
?>


以上代码解析如下: 
首先,设置了 SQL 语句从 MyGuests数据表中读取 id, firstname 和 lastname 三个字段。之后我们使用改 SQL 语句从数据库中取出结果集并赋给复制给变量 $result。 
函数 num_rows() 判断返回的数据。 
如果返回的是多条数据,函数 fetch_assoc() 将结合集放入到关联数组并循环输出。 while() 循环出结果集,并输出 id, firstname 和 lastname 三个字段值。 
过程中遇到的问题: 
(1)PHP从数据库读取的数据中文显示的是”?”,解决方法: 
mysqli_query($conn, 'set names utf8')后中文变为Unicode的编码 
(2)Unicode的编码改成中文的方法: 
json_encode($row,JSON_UNESCAPED_UNICODE).' '; 

3、使用Ajax将数据展示在前端页面
代码如下:

<!DOCTYPE html>
<html ng-app = 'test'>

<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-type=text/html;charset=utf-8"/>
    <!-- jQuery -->
    <script type="text/javascript" src="http://code.changer.hk/jquery/1.11.2/jquery.min.js"></script>
     <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <style type="text/css">
        .table{
            width: 1000px;
            text-align: center;
        }
    </style>
    <title>学生信息管理</title>
</head>

<body ng-controller = 'main'>
    <div class="">
        <table class="table table-bordered table-striped">
            <thead>
                <tr>
                    <td>学号</td>
                    <td>姓名</td>
                    <td>班级</td>
                    <td>学院</td>
                    <td>电话</td>
                </tr>
            </thead>
            <tbody id="tbody"></tbody>
        </table>
    </div>
</body>
<script type="text/javascript">

$.ajax({
    type: 'POST',
    url: 'studentInfo.php',
    data:{
    },
    success: function (data) {
        //console.log(data);
        var a = data.split(' ');
        //console.log(a);
        var trStr = '';//动态拼接table
        for (var i = 0; i < a.length-1; i++) {
            trStr += '<tr class="example">';
            trStr += '<td width="15%">' + JSON.parse(a[i]).studentID + '</td>';
            trStr += '<td width="15%">' + JSON.parse(a[i]).studentName + '</td>';
            trStr += '<td width="15%">' + JSON.parse(a[i]).class + '</td>';
            trStr += '<td>' + JSON.parse(a[i]).department + '</td>';
            trStr += '<td>' + JSON.parse(a[i]).teleNumber + '</td>';
            trStr += '</tr>';  
        } 
        $("#tbody").html(trStr);
    }
});
</script>
</html>



最终实现效果: 


本文标签: #php #后台 #异步 #调取 #sql
整理员:网络转载
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

destoon配置文件config.inc.php参数说明

    系统配置文件说明

小黑 destoon设置相关2023-12-17

php中过滤价格后面的.00小数

    这个一般用于客户特殊要求才会加上,页面上的价格不显示后面的小数,如:3000.00 ,过滤后就只显示 3000,使用如下代码(加在你需要的地方)

小黑 开发技术2023-12-01

PHP 导出xlsx两种方法

    需要自行用代码测试

网络转载 PHP2023-03-06

php生成excel的三种方式

    php生成excel的三种方式,一、用原生代码生成csv格式的文件,二、用html的形式生成excel,三、用phpExcel生成表格

网络转载 PHP2023-03-06

解决Lnmp一键包环境忘记MySQL管理员密码问题

    这个问题是前几天老蒋遇到一个网友在使用军哥LNMP一键包环境的时候,告知他好久没有登录phpMyadmin,居然忘记密码,这个问题也是经常遇到的。有些网友的所有的服务器、网站密码都会用一些通用的或者随机设置的且在开

网络转载 LNMP2023-02-03

下一篇
我来说两句
抢沙发