From de99592f786e0dbcf27b5d0773edf09eac8a9494 Mon Sep 17 00:00:00 2001 From: Ben PC Date: Wed, 30 Mar 2022 09:56:33 +0200 Subject: [PATCH] Product Ratings, Grid Fix --- index.js | 2 +- views/search.ejs | 112 ++++++++++++++++++++++++++--------------------- 2 files changed, 64 insertions(+), 50 deletions(-) diff --git a/index.js b/index.js index af10899..a82d855 100644 --- a/index.js +++ b/index.js @@ -193,7 +193,7 @@ app.get("/search/:query",authNoRedirectHandler,(req, res) => { user: req.user, } - mysql_handler.con.query("SELECT *, (SELECT url FROM product_images i WHERE i.product_id = p.id LIMIT 1) as img FROM products p WHERE name LIKE ?;",["%"+query+"%"],function(err, result){ + mysql_handler.con.query("SELECT *, (SELECT url FROM product_images i WHERE i.product_id = p.id LIMIT 1) as img, (SELECT AVG(rating) FROM reviews r WHERE r.productId = p.id) as rating FROM products p WHERE name LIKE ?;",["%"+query+"%"],function(err, result){ if(err) throw err; dict.products = JSON.parse(JSON.stringify(result)); diff --git a/views/search.ejs b/views/search.ejs index 4ccaaca..571cd89 100644 --- a/views/search.ejs +++ b/views/search.ejs @@ -24,17 +24,22 @@ <% for(var i=0; i < products.length; i++) { var prod = products[i]; if (!prod.img) { prod.img = "/images/examples.jpg"; } - prod.rating = Math.round(Math.random()*10); %> + //if (!prod.rating) { prod.rating = 0; } %>

<%=prod.name %>

<%=prod.price %>€

<% - for (var i2=0; i2 < prod.rating; i2 = i2 + 2) { - %>★<% - } - if (prod.rating%2 == 1) { - %>☆<% + if (prod.rating) { + prod.rating = Math.round(prod.rating/2) + for (var i2=0; i2 < prod.rating; i2++) { + %>★<% + } + for (var i2=prod.rating; i2 < 5; i2++) { + %>☆<% + } + } else { + %>Keine Bewertungen<% } %>

<%=prod.quantity %> auf Lager

@@ -45,7 +50,7 @@
<%=prod.description %>
<% } %> -
+ <% } %> @@ -58,57 +63,18 @@