Добрый день! Пытаюсь сделать форму для редактирования товара. Три таблицы - товары, категории, единицы измерения.
Товары (Good):
id;
title - наименование:
id_unit - ключ ед.изм;
id_category - ключ категории;
Категории (Category):
id;
title - наименование категории;
image - путь к картинке;
Ед.изм. (Unit):
id;
title - наименование;
Вот делаю запросы:
//Получение записи для редактирования
router.get("/edit/:id", (req, res) => {
const sqlCat=("SELECT * FROM Category ORDER BY title")
const sqlUnit=("SELECT * FROM Unit ORDER BY title")
const id = req.params.id;
const sqlGood = "SELECT * FROM Good WHERE id = ?";
db.all(sqlUnit, [], (err, rows) => {
if (err) {
return console.error(err.message);
}
Izm=rows;
});
db.all(sqlCat, [], (err, rows) => {
if (err) {
return console.error(err.message);
}
Cat=rows;
});
db.get(sqlGood, id, (err, row) => {
res.render("spr_good/updateGood", { good: row, cat : Cat, izm:Izm });
});
});
...и вывожу страницу для редактирования записи:
<%- include("../baseHeader") -%>
<div class="col-md-10 shadow ">
<div class="row">
<div class="col-12 text-center menu-text"><h4 class="mb-3">Номенклатура</h4></div>
<div class="col-1"></div>
<div class="col-10">
<form action="/good/edit/<%=good.id %>" method="post" >
<legend class="legend">Редактирование</legend>
<input autofocus class="form-control mb-2" name="Good" value="<%= good.title %>" required/>
<p>
<legend class="legend">Единица измерения</legend>
<select id="izm" name="Izm" class="form-control">
<% for (const item of Izm) { %>
<option value='<%= item.id %>'> <%= item.title %></option>
<% } %>
</select>
<legend class="legend">Категория</legend>
<select id="Cat" name="Cat" class="form-control">
<% for (const item of Cat) { %>
<option value='<%= item.id %>'> <%= item.title %></option>
<% } %>
</select>
</p>
<div class="text-right">
<button type="submit" class="btn btn-warning btn-sm">Изменить</button>
<a class="btn btn-secondary btn-sm " href="/good">Отмена</a>
</div>
</form>
</div>
<div class="col-1"></div>
</div>
</div>
<%- include("../_footer") -%>
Все выводится, в первое поле встает нужное наименование, но как вывести единицу измерения и категорию в раскрывающиеся списки. Чтобы в списке сразу отображалась единица и категория выбранного товара, а в данный момент там первые строчки из соответствующих таблиц... И еще, как можно оптимизировать запрос - сейчас там у меня три запроса идут... Прощу не пинать - новичок
База данных - SQLITE