Weedfald Juniormester
04. februar 2019 - 17:42 Der er 1 kommentar og
2 løsninger

MySQL Desc limit

Spørgsmål:
Én kode der automatisk tømmer databasen når desc limit er nået?
Det drejer sig om lagring af chatbeskeder, som eksempel:
Når brugerne har skrevet 200 beskeder, så slettes beskederne sådan, at der er plads til nye.

Evt. en løsning hvorpå beskeder slettes efter x-antal sekunder?

Min kode so far:

if(isset($_SESSION['logget_ind']) && $_SESSION['logget_ind'] == true) {
    $getRoom = mysql_query("SELECT `rum` FROM `chat_brugere` WHERE `id` = '".$_SESSION['id']."'");
    $showRoom = mysql_fetch_array($getRoom);
   
    $getMessages = mysql_query("SELECT `bruger`, `besked` FROM `chat_beskeder` WHERE `rum` = '".$showRoom['rum']."' ORDER BY `id` DESC LIMIT 200");
   
    if (mysql_num_rows($getMessages) == 0) {
        echo 'Ingen beskeder...';
    } else {
        while ($showMessages = mysql_fetch_array($getMessages)) {
           
            echo '<head>
<meta http-equiv="refresh" content="1">
</head><meta charset=UTF-8><font style="font-weight: bold;">'.$showMessages['bruger'].'</font>: '.htmlspecialchars($showMessages['besked']).'<br />';

        }
    }
}
arne_v Ekspert
04. februar 2019 - 17:56 #1
Maaske:

DELETE FROM chat_beskeder WHERE rum=? AND id NOT IN (SELECT id FROM chat_beskeder WHERE rum=? ORDER BY id DESC LIMIT 200)

Huske at teste grundigt!!!!
Weedfald Juniormester
04. februar 2019 - 18:10 #2
Så min kode i så fald ser således ud?
Ret mig gerne, jeg er ikke skarp i MySQL!

Kode:

$deleteMessages = mysql_query("DELETE FROM `chat_beskeder` WHERE `rum`= '".$showRoom['rum']."' AND `id` NOT IN (SELECT `id` FROM `chat_beskeder` WHERE `rum` = '".$showRoom['rum']."' ORDER BY `id` DESC LIMIT 200");
arne_v Ekspert
04. februar 2019 - 20:37 #3
Jeg tror der mangler en parentes.

LIMIT 200");

->

LIMIT 200)");
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgne rundt om bygningen for at nå målsætningerne"
"Jeg vil selv bestemme, om jeg skal ansætte fem bestemte medarbejdere, eller om mine medarbejdere skal løbe nøgen rundt om bygningen for at nå målsætningerne."
Computerworld
Trump kræver pludselig ‘en masse penge’ for at godkende Microsofts køb af TikTok
Præsident Donald Trump siger, at USA skal have ‘en masse penge’, hvis Microsoft skal have grønt lys til at købe kinesiske TikTok. Kina truer med at svare igen.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
God it-sikkerhed kræver hurtige og kontinuerlige opdateringer på tværs af dit it-landskab
Konsekvenserne kan være uoverskuelige, når en it-kriminel får adgang til virksomhedens systemer. Typisk kan tabet af tid, tabet af indtægter og tabet af omdømme gøres op i millioner. I dette whitepaper kan du derfor læse om fordelen ved kontinuerligt at arbejde med it-sikkerhed og sårbarheder – og hvordan du kan sikre hurtige og kontinuerlige opdateringer på tværs af dit it-landskab. Også uden at skulle bruge dagevis på at researche trusler og de relevante opdateringer.