gpt4 book ai didi

mysql - 如何将 MySQL 数据库中的数据放入 snake case 中,并使用 express 将其放入 ejs 列表中每个项目的值字段中

转载 作者:行者123 更新时间:2023-11-30 21:31:08 25 4
gpt4 key购买 nike

我正在准备一个表单,用于从数据库中获取本地企业的一些数据。我能够从我的 MySQL 数据库中动态获取数据并将其放入下拉列表中,但我无法将选项标签附带的值填充为项目获取的值,因为它有空间。我决定使用 lodash 将数据转换为蛇形大小写,但我无法将其放入值字段中。

App.js 代码

const express = require("express");
const bodyParser = require("body-parser");
const db = require("./util/database");
const _ = require("lodash");

const app = express();

app.set("view engine", "ejs");

app.use(
bodyParser.urlencoded({
extended: true
})
);

app.listen(3000, function() {
console.log("Server Started at port 3000");
});

app.get("/", function(req, res) {
db.execute("SELECT customerName FROM customers")
.then(([rows, fieldData]) => {
// console.log(_.snakeCase(rows[0].customerName));
const map = rows.map(name => _.snakeCase(name.customerName));
res.render("home.ejs", {
customerName: rows,
customerNameSnakeCase: map
});
})
.catch(err => {
console.log(err);
});
});

app.post("/", function(req, res) {
const quantity = req.body.quantity;
const rate = req.body.rate;
const amount = quantity * rate;

res.render("another", {
amountValue: amount
});
});

home.ejs代码

<%- include("partials/header"); -%>
</head>

<body>

<form class="form-control" action="/" method="post">
<input type="date" name="date">
<label for="salePurchase">Type of Transaction</label>
<select required>
<option value="sale">Sale</option>
<option value="purchase">Purchase</option>
<option value="other">Others</option>
<option value="payment">Payment</option>
<option value="receipt">Receipts</option>
</select>
<label for="vehicleNumber">Vehicle Number</label>
<input type="number" , name="vehicleNumber">
<label for="partyName">Party Name</label>

<select>
<% customerName.forEach((name) => { %>
<option value=""><%= name.customerName %></option>
<% }) %>
</select>

<select>

</select>
<label for="factory">Factory</label>
<select>
<option value="Butibori">Butibori</option>
<option value="Hingna">Hingna</option>
</select>
<label for="group">Group</label>
<select name='group'>
<option value='finishedProduct'>Finished Products</option>
<option value='scrapMaterial'>Scrap Material</option>
<option value='rerollingMaterial'>Rerolling Material</option>
<option value='coal'>Coal</option>
<option value='machinery'>Machinery</option>
<option value='freight'>Freight</option>
</select>
<label for="item">Item</label>
<select name='item'>
<option value='squareBar'>Square Bar</option>
<option value='roundBar'>Round Bar</option>
<option value='flatBar'>Flat Bar</option>
<option value='angle'>Angle</option>
<option value='gateChannel'>Gate Channel</option>
</select>
<label for="itemSpecifics">Item Specifics</label>
<select name='sqaureBar'>
<option value='6mmFixed'>6mm Fixed</option>
<option value='6mmRandom'>6mm Random</option>
<option value='8mmFixed'>8mm Fixed</option>
<option value='8mmRandom'>8mm Random</option>
<option value='10mmFixed'>10mm Fixed</option>
<option value='10mmRandom'>10mm Random</option>
<option value='12mmFixed'>12mm Fixed</option>
<option value='12mmRandom'>12mm Random</option>
</select>
<input type="number" name="quantity" placeholder="Total Quantity">
<input type="number" name="rate" placeholder="Rate per Ton">
<input type="number" name="amount" placeholder="Total Amount">
<input type="text" name="comments" placeholder="Comments">
<button type="submit">Submit</button>
</form>

<%- include("partials/footer"); -%>

现在我没有在值字段中输入任何内容,但我想要在蛇形案例中生成的客户名称。顺便说一下,MySQL 数据库有一个 customers 表,里面有几个名字。

最佳答案

您不能将这两个值都放在您的 map 中吗?

//App.js
const map = rows.map(name => {displayName: name.customerName, snakeCaseName: _.snakeCase(name.customerName)});

然后您可以省略渲染函数的参数之一:

//App.js
res.render("home.ejs", {
customerNames: map
});

并渲染它:

<select>
<% customerNames.forEach((name) => { %>
<option value=<%= name.snakeCaseName %>><%= name.displayName %></option>
<% }) %>
</select>

关于mysql - 如何将 MySQL 数据库中的数据放入 snake case 中,并使用 express 将其放入 ejs 列表中每个项目的值字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56087912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com