From f385fe92890da1a19a768ca27241b63a1078dc3f Mon Sep 17 00:00:00 2001 From: unwox Date: Sat, 2 Nov 2024 15:09:06 +0600 Subject: fix pagination --- bin/serve.fnl | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'bin/serve.fnl') diff --git a/bin/serve.fnl b/bin/serve.fnl index 835a49b..5b08e55 100644 --- a/bin/serve.fnl +++ b/bin/serve.fnl @@ -129,14 +129,16 @@ (local the-number (* (tonumber (os.date "%Y%m%d")) limit)) (local total (. (must (luna.db.query db - "SELECT count(*) - FROM products - INNER JOIN product_tags ON product_tags.product = products.url - WHERE archived = false - AND product_tags.tag IN ('Красный чай', 'Улун', 'Шен пуэр', - 'Шу пуэр', 'Зеленый чай', 'Белый чай', - 'Желтый чай') - GROUP BY products.url" [])) + "SELECT count(ROWID) + FROM ( + SELECT products.ROWID + FROM products + INNER JOIN product_tags ON product_tags.product = products.url + WHERE archived = false + AND product_tags.tag IN ('Красный чай', 'Улун', 'Шен пуэр', + 'Шу пуэр', 'Зеленый чай', 'Белый чай', + 'Желтый чай') + GROUP BY products.url)" [])) 1 1)) (must (luna.db.query* @@ -215,14 +217,16 @@ (luna.db.query db (string.format - "SELECT count(*) - FROM search - INNER JOIN products ON search.fid = products.url - LEFT JOIN product_tags ON product_tags.product = search.fid - WHERE search.`table` = 'products' - AND products.archived = false - %s - GROUP BY products.url" where-sql) + "SELECT count(ROWID) + FROM ( + SELECT products.ROWID + FROM search + INNER JOIN products ON search.fid = products.url + LEFT JOIN product_tags ON product_tags.product = search.fid + WHERE search.`table` = 'products' + AND products.archived = false + %s + GROUP BY products.url)" where-sql) where-vars))) {:results -- cgit v1.2.3