Zadejte hledaný výraz...

Prodloužit LIMIT podle obsahu

crs
verified
rating uzivatele
(1 hodnocení)
8. 8. 2020 18:41:06
Zdravím.
Mám diskuzi se stránkováním - dejme tomu 10 příspěvků na stránku.
Bohužel, kvůli častému spamování (i přes captcha) jsem tam byl nucen přidat možnost pro jiné uživatele hodnotit příspěvky s možností je "vypalcovat" - příspěvky s negativní reputací se pak minimalizují a jsou přístupné jen na rozkliknutí. (Nechci je rovnou mazat, protože to nemusí být vždy pouze spam, může to být jen nepopulární názor, například.)
Občas mi "spamovací nájezdy" v diskuzi zanechají hned několik opakovaných spamů. Při stránkování a vypisování příspěvků tak na první stránce z 10 příspěvků vidím jeden příspěvek a 9 minimalizovaných spamů, což nechci.
Hledám elegantní způsob, jak vypalcované příspěvky/spamy sice zahrnovat do výpisu, ale nezohledňovat je při počítání délky stránky.
Pro tento příklad, dejme tomu, že tabulka se jmenuje `discussion` a má mj. sloupce: id, added (čas přidání), name, comment, ..., reputation (číslo; když je < 0, jednat s příspěvkem jako se spamem).
Při stránkování (s délkou stránky 10 příspěvků) chci z databáze dostat (od daného offsetu) prvních 10 záznamů s pozitivní reputací (potencíální spam mezi nimi také, ale nezapočítávat do těch deseti).
2) Je nějaké řešení v SQL (pokud možno opět elegantní), které by mi zjistilo offsety dalších stránek?
Díky
(moc prosím - jen příspěvky o SQL k tomuto tématu; ne o tom, že bych měl přejít na nějakou konkrétní diskuzní knihovnu apod.)
8. 8. 2020 18:41:06
https://webtrh.cz/diskuse/prodlouzit-limit-podle-obsahu#reply1459764
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 8. 2020 18:50:27
prakticky to vidím řešené jako načtení 3x víc příspěvků než je počet na stránku a vyfiltrování na backendu.
Jinak asi klasicky stránkování přes:
8. 8. 2020 18:50:27
https://webtrh.cz/diskuse/prodlouzit-limit-podle-obsahu#reply1459763
Co něco takového? https://www.w3schools.com/sql/sql_union.asp
9. 8. 2020 11:21:06
https://webtrh.cz/diskuse/prodlouzit-limit-podle-obsahu#reply1459762
Pro odpověď se přihlašte.
Přihlásit