使用Express和Handlebars,可以通过以下步骤从数据库中预先填充或重新加载选择菜单选项:
npm install express handlebars
const express = require('express');
const exphbs = require('express-handlebars');
const mysql = require('mysql');
const connection = mysql.createConnection({
host: '数据库主机地址',
user: '数据库用户名',
password: '数据库密码',
database: '数据库名称'
});
connection.connect((err) => {
if (err) {
console.error('数据库连接失败:', err);
return;
}
console.log('数据库连接成功!');
});
// 查询选择菜单选项的数据
const query = 'SELECT * FROM 菜单表';
connection.query(query, (err, results) => {
if (err) {
console.error('查询数据失败:', err);
return;
}
// 将查询结果存储在变量中,以便在模板中使用
const menuOptions = results;
});
app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');
app.set('views', path.join(__dirname, 'views'));
app.get('/', (req, res) => {
res.render('index', {
menuOptions: menuOptions
});
});
<select>
{{#each menuOptions}}
<option value="{{this.value}}">{{this.label}}</option>
{{/each}}
</select>
通过以上步骤,你可以使用Express和Handlebars从数据库中预先填充或重新加载选择菜单选项。请注意,以上代码仅为示例,实际应用中需要根据具体情况进行适当的修改和优化。
腾讯云相关产品推荐:云数据库 TencentDB,产品介绍链接地址:https://cloud.tencent.com/product/cdb
领取专属 10元无门槛券
手把手带您无忧上云