verwijder oude data uit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Servicedesk Medewerker Software PHP SQL

Wie wordt jouw werkgever?: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is gespecialiseerd in de ontwikkeling van software binnen het belastingdomein. Wil jij helpen om storingen op te lossen? Heb je ervaring met het werken als helpdeskmedewerker? Vaste baan: Servicedeskmedewerker SQL MBO 2.200 - 2.600 Servicedeskmedewerker Deze werkgever levert softwareproducten aan een groot aantal regionale belastingkantoren, waterschappen en gemeenten. Onze dienstverlening kenmerkt zich door de ontwikkeling van softwareproducten, implementatiebegeleiding bij bestaande producten, datacenter- diensten, consultancy en maatwerk. Deze werkgever is een veelzijdige organisatie. Je werkt voor de

Bekijk vacature »

E Ander

E Ander

24/01/2017 19:58:27
Quote Anchor link
Ik heb een huis automatisering gemaakt die elke 5 seconde data in een MYSQL database op mij Synology plaatst.
Nu heb ik die data ca 30 dagen nodig en daarna mag de data uit de database weg.
Dus geGoogeld en ik vond het volgende:
[script]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    include 'config.php';
    $sql = "DELETE FROM huisinfo.tuininfo WHERE DATEDIFF(CURDATE(),datum) >= 1";
    if(!$res = mysqli_query($link, $sql))
    {

        trigger_error("<br>Query Failed! SQL: $sql - <br>Error: ".mysqli_error(), E_USER_ERROR);  
    }
else{
    echo "oude data verwijderd.";
    }
  
?>

[/script]
Die 1 moet dan vervangen gaan worden voor 30. DATEDIFF werkt met dagen en om te testen wil ik alle data die ouder is dan 1 dag uit de database verwijderen.

En daar heb ik hulp bij nodig want wat ik ook probeer, blijkbaar probeer ik verkeerd want de data blijft netjes in de database.

De bedoeling is dus dat alle data gesorteerd (veldnaam datum)ouder dan 30 dagen verwijderd wordt uit de database.

Alvast bedankt voor het meedenken.
 
PHP hulp

PHP hulp

23/05/2022 19:43:44
 
- Ariën -
Beheerder

- Ariën -

24/01/2017 20:05:35
Quote Anchor link
We hebben voor codeblokken hier code-tags. :-)

Probeer eens dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
DELETE FROM tabelnaam WHERE datum<DATE_SUB(CURDATE(), INTERVAL 30 DAYS);
 
E Ander

E Ander

24/01/2017 20:07:20
Quote Anchor link
Ik denk dat ik het al gevonden heb,
Mysql heeft de datum opgeslagen als 17 January 2017 en DATEDIFF heeft de volgorde '2017-1-17' Ik heb het idee dat ik de invoer in de SYNOLOGY moet veranderen.

Toevoeging op 24/01/2017 20:10:46:

Ariën, bedankt voor je hulp, ik dacht dat het [script] tags waren ;-) sorry.
 
Ben van Velzen

Ben van Velzen

24/01/2017 22:13:50
Quote Anchor link
Is je datumkolom dan wel van type DATE?
 
E Ander

E Ander

24/01/2017 22:38:49
Quote Anchor link
Ben,
Nu wel....???? ik zat de hele tijd bij elk voorbeeld wat ik op internet verkeerd te zoeken naar de fout. Ik moest naar de database kijken en het format waar de data in opgeslagen werd.

Bedankt voor je hulp. Ik moet nu eerst weer een paar dagen data ophalen voordat ik weer op datum kan wissen.????


Toevoeging op 24/01/2017 22:40:05:

E Ander op 24/01/2017 22:38:49:
Ben,
Nu wel....;-) ik zat de hele tijd bij elk voorbeeld wat ik op internet verkeerd te zoeken naar de fout. Ik moest naar de database kijken en het format waar de data in opgeslagen werd. :-)

Bedankt voor je hulp. Ik moet nu eerst weer een paar dagen data ophalen voordat ik weer op datum kan wissen.
 
Ben van Velzen

Ben van Velzen

24/01/2017 23:15:45
Quote Anchor link
In dat geval moet je uiteraard ook even zeker weten dat je de datum correct de database inschiet, anders zal er overal 0000-00-00 komen te staan als je pech hebt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.