,可以通过以下步骤实现:
mysql
或mysql2
等流行的驱动程序。以下是使用mysql2
驱动程序的示例代码:const mysql = require('mysql2');
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
// 连接到数据库
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database: ', err);
return;
}
console.log('Connected to MySQL database');
});
// 查询MySQL数据库中的值
connection.query('SELECT * FROM your_table', (err, results) => {
if (err) {
console.error('Error querying MySQL database: ', err);
return;
}
// 将查询结果传递给Express路由
app.get('/', (req, res) => {
res.render('index', { data: results });
});
});
// 关闭数据库连接
connection.end((err) => {
if (err) {
console.error('Error closing MySQL database connection: ', err);
return;
}
console.log('Closed MySQL database connection');
});
res.render
方法将查询结果传递给Jade模板引擎进行渲染。在Jade模板中,可以使用each
循环遍历查询结果,并将其填充到选择菜单中。以下是一个简单的示例:select(name='your_select_menu')
each item in data
option(value=item.id)= item.name
在上述示例中,data
是从MySQL数据库中查询到的结果集,item.id
和item.name
是结果集中的字段。
这样,当用户访问相应的路由时,Express将从MySQL数据库中查询数据,并将其填充到选择菜单中,然后将渲染后的HTML页面返回给用户。
对于腾讯云相关产品,可以使用腾讯云数据库MySQL版(https://cloud.tencent.com/product/cdb)作为MySQL数据库的云托管解决方案。
领取专属 10元无门槛券
手把手带您无忧上云