Avatar billede gf Nybegynder
14. november 2004 - 20:04 Der er 8 kommentarer og
1 løsning

slet nyhed efter antal dage vil dette virke??

Hej

Jeg er ved at lave et nyhedssystem hvor brugeren kan vælge hvor mange dage datoen skal være tilgængelig.

$sletom er her tildelt værdien 2, men i programmet hentes den fra en dropdown list.

jeg er lidt i tvivl om min metode dur i praksis da
$tid og $sletdato jo er to almindelige variable. 210502 er jo større end 110701

nogen der kan gennemskue det?

<?php
$dato = date("dmy"); // dagsdato findes
$tid = time();
$sletom = 2;  //antal dage til posetn slettes

$sletdato = date("dmy",$tid+(86400 * "$sletom")); //sletdatoen beregnes
if ($sletdato >= $dato) //hvis sletdatoen er større eller lig dagsdato slettes posten
{
  //slet i databasen
} else {
//slet ikke i databasen
} 

?>

MVH GF
Avatar billede krydset Nybegynder
14. november 2004 - 20:24 #1
Hvorfor vil du slette nyhederne i databasen man kan da bare sørge for at de ikke bliver vist hvis de er for gamle
Avatar billede gf Nybegynder
14. november 2004 - 20:29 #2
Tjah det kunne jeg jo også bare, det kunne min funktion kodestump også gøre. Men jeg er bare i tvivl om den fil virke.

mvh gf
Avatar billede krydset Nybegynder
14. november 2004 - 20:34 #3
Du skal arbejde med unix timestamps i stedet det er meget lettere
Avatar billede gf Nybegynder
14. november 2004 - 20:41 #4
unix timestamp.... tjoh, jeg er lidt nu ud i php.

mvh gf
Avatar billede krydset Nybegynder
14. november 2004 - 20:53 #5
et unix timestamp er et tal som viser antal sekunder der er gået efter 1 jan. 1970
du laver i php et unix timestamp som svarer til med time()
Du kan osse lave et unix timestamp som svarer til en bestemt dato det gør du med strtotime("24 dec 2004"); det laver jo et timestamp som svarer til juleaften i 2004
og for at vise et unix timestamp i et lidt lettere læseligt format skal du bruger date() som du selv har haft fat i

Hvis du vil vide om dit egtet virker i praksis bliver du selv nød til at teste det
Avatar billede coderdk Praktikant
14. november 2004 - 20:56 #6
SQL-statementen:

DELETE FROM tabel WHERE datetimefelt < DATE_SUB( NOW(), INTERVAL 2 DAYS )

Vil slette records i databasen som er ældre end to dage...
Avatar billede gf Nybegynder
14. november 2004 - 21:09 #7
ok det ser unægteligt noget lettere ud, kan "2" tjekkes mod en variabel eller evt. en "varighedsfelt" ?

mvh gf
Avatar billede gf Nybegynder
15. november 2004 - 19:57 #8
krydset kan du ikke lige komme med et svar, unix timestamp var lige det jeg skulle sætte mig ind i.
Tak for det.

mvh gf
Avatar billede gf Nybegynder
24. februar 2005 - 23:50 #9
lukker
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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