Вопрос по форме редактирования товара
Добрый день! Пытаюсь сделать форму для редактирования товара. Три таблицы - товары, категории, единицы измерения.
Товары (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 |
Цитата:
<option selected>...</option> |
Цитата:
https://function-x.ru/sql_join.html |
Часовой пояс GMT +3, время: 04:22. |