Node+express+ejs+mysql制作查询数据呈现前端页面

一、实现样式

student

二、页面结构

1、文档结构
结构
2、数据库mysql结构
mysql
3、使用到的模块
package

三、核心思路

该案例使用node+express+ejs+mysql共同实现,实现效果很简单,查询数据库,获取数据后,呈现在前端页面上面,连接mysql或者数据很简单,核心点在使用ejs模块,语法为 <%= %>

1、使用mysql模块连接mysql数据库,获取数据results,获取到的数据为一个数组形式
mysql.js

const mysql = require('mysql')

const db = mysql.createPool({
    host: '192.168.19.133',
    user: 'root',
    password: 'root123',
    database: 'node_mysql'
})

// 共享db
module.exports = db

// 连接测试mysql
// db.query('select * from ev_user', (err, results) => {
//     if (err) {
//         return results.send({ status: 1, msg: err, message })
//     }
//     console.log(results);
// })

2、在使用esj之前先配置esj

app.set('view engine', 'ejs'); //设置ejs模块
app.set('views', __dirname + '/views')  //文件路径

核心esj代码

exports.userlist = (req, res) => {
    const sqlstr = 'select * from ev_students'
    db.query(sqlstr, (err, results) => {
        if (err) return res.cc(err)
        console.log(results);
        res.render('students', { results })
    })

}

3、在上面views路径下面新建一个students.esj文件,该类型文件可以使用html来编写
students.ejs

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./students.css">
    <title>用户列表</title>
</head>
<style>
    h1 {
        text-align: center;
    }
    
    table {
        border-collapse: collapse;
        margin: 0 auto;
        text-align: center;
        width: 800px;
    }
    
    table td,
    table th {
        border: 1px solid #cad9ea;
        color: #666;
        height: 30px;
    }
    
    table thead th {
        background-color: #CCE8EB;
        width: 100px;
    }
    
    table tr:nth-child(odd) {
        background: #fff;
    }
    
    table tr:nth-child(even) {
        background: #F5FAFA;
    }
</style>

</style>

<body>
    <h1>学生信息表</h1>
    <table>
        <tr>
            <th>编号</th>
            <th>学工号</th>
            <th>姓名</th>
            <th>性别</th>
            <th>手机号</th>
            <th>班级</th>
            <th>年级</th>
            <th>身份证号</th>
        </tr>
        <% for(let i=0;i<results.length;i++){ %>
            <tr>
                <td>
                    <%= results[i].id  %>
                </td>
                <td>
                    <%= results[i].idserial  %>
                </td>
                <td>
                    <%= results[i].username  %>
                </td>
                <td>
                    <%= results[i].sex  %>
                </td>
                <td>
                    <%= results[i].phone  %>
                </td>
                <td>
                    <%= results[i].class  %>
                </td>
                <td>
                    <%= results[i].major  %>
                </td>
                <td>
                    <%= results[i].cardid  %>
                </td>
            </tr>
            <%   }   %>

    </table>

</body>

</html>

使用nodemon执行入口文件app.js后,打开对应路由,就能将数据呈现在页面上面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒月VII

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值