From a110b7137716d7e03e0b5768ab287582232dc91e Mon Sep 17 00:00:00 2001 From: Ben PC Date: Wed, 30 Mar 2022 14:52:20 +0200 Subject: [PATCH] Multiple Categories --- index.js | 8 ++++---- views/product.ejs | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 42bf073..bca8b06 100644 --- a/index.js +++ b/index.js @@ -172,9 +172,9 @@ app.get("/product/:productId", authNoRedirectHandler, (req, res) => { if(err) throw err; let reviews = JSON.parse(JSON.stringify(result)); console.log(product) - mysql_handler.con.query(`SELECT * FROM categories WHERE id='${product.categoryId}'`,function(err,result){ + mysql_handler.con.query(`SELECT * FROM categories WHERE id IN (SELECT category_id FROM product_categories WHERE product_id = ${product.categoryId})`,function(err,result){ if(err) throw err; - let category = JSON.parse(JSON.stringify(result))[0]; + let categories = JSON.parse(JSON.stringify(result)); let dict = { title: product.productName, @@ -184,7 +184,7 @@ app.get("/product/:productId", authNoRedirectHandler, (req, res) => { productDescription: "ez", loggedIn: true, reviews: reviews, - category: category, + categories: categories, user: req.user, } res.render('product', dict) @@ -229,7 +229,7 @@ app.get("/search/:query/",authNoRedirectHandler,(req, res) => { var catQuery = ""; var cat = req.query.cat; if (typeof cat !== 'undefined' && cat != 0) { - catQuery = " AND categoryId = "+cat; + catQuery = " AND (SELECT COUNT(*) FROM product_categories c WHERE c.category_id = "+cat+" AND c.product_id = p.id)"; } var sortQuery = ""; diff --git a/views/product.ejs b/views/product.ejs index 908db5f..2198370 100644 --- a/views/product.ejs +++ b/views/product.ejs @@ -22,7 +22,14 @@

Verkäufer: <%= product.sellerName%>


Preis: <%= product.price.toFixed(2) %> € / Stück -

Kategorie: <%= category.name %> +

Kategorien: + <% for (var i=0; i < categories.length; i++) { + %><%=categories[i]["name"] %><% + if (i != (categories.length - 1)) { + %>, <% + } + } %> +

<% if(product.quantity > 0){%>