Avatar billede clausga Nybegynder
30. marts 2005 - 14:47 Der er 12 kommentarer og
1 løsning

Hvorfor sletter den ikke noget

<?
require("config.php");

mysql_connect($dbhost, $dbuser, $dbpass);

    mysql_select_db($database);
//empty kurv system

$code1 = date("YmdHis");
$deletecall = "$code1-100000";

$delete = mysql_query("DELETE FROM kurv WHERE tid > '$deletecall'");
?>
Avatar billede bromer Nybegynder
30. marts 2005 - 14:49 #1
lad os se hvad databasen siger:

$delete = mysql_query("DELETE FROM kurv WHERE tid > '" . $deletecall . "'") or die(mysql_error());
Avatar billede Slettet bruger
30. marts 2005 - 14:49 #2
prøv at fjerne '' om variablen:

<?
require("config.php");

mysql_connect($dbhost, $dbuser, $dbpass);

    mysql_select_db($database);
//empty kurv system

$code1 = date("YmdHis");
$deletecall = "$code1-100000";

$delete = mysql_query("DELETE FROM kurv WHERE tid > ". $deletecall);
?>
Avatar billede barklund Nybegynder
30. marts 2005 - 14:56 #3
Eh, hvorfor trækker du 100000 fra? Vil du slette alt ældre end 24 timer?

Så er det vel bare:

mysql_query("DELETE FROM kurv WHERE DATE_SUB(NOW(), INTERVAL 1 DAY) > tid");

Så behøver du slet ikke php'en til hjælp :)

--
Morten Barklund
Avatar billede Slettet bruger
30. marts 2005 - 14:58 #4
Hans giver jo næsten 28 timer :o)
Avatar billede clausga Nybegynder
30. marts 2005 - 15:00 #5
tiden er jo nu:

20053003145916 - 100000 = 20053003045816

den skal så slette alle dem der er ældre end 20053003045816, er mit eksempel så rigtig ?
Avatar billede bromer Nybegynder
30. marts 2005 - 15:01 #6
det er da ti timer den fjerner?
Avatar billede barklund Nybegynder
30. marts 2005 - 15:03 #7
Ah, så laver vi det om til 10 timer:

mysql_query("DELETE FROM kurv WHERE DATE_SUB(NOW(), INTERVAL 10 HOUR) > tid");
Avatar billede bromer Nybegynder
30. marts 2005 - 15:03 #8
men det er vel ikke så relevant hvor mange timer den egentlig fjerner men mere hvordan den skal gøre det? Hvis det for eksempel er ti timer bliver barklunds kønne query (og denne gang uden brug af case) til:

mysql_query("DELETE FROM kurv WHERE DATE_SUB(NOW(), INTERVAL 10 HOUR) > tid");
Avatar billede bromer Nybegynder
30. marts 2005 - 15:04 #9
død og pine.. langsommere end barklund.. så står verdenen ikke længere
Avatar billede barklund Nybegynder
30. marts 2005 - 15:04 #10
Og det er lidt fjollet at lave et mysql timestamp til et tal og regne på det som sådan - brug mysql funktionerne i stedet :)
Avatar billede clausga Nybegynder
30. marts 2005 - 15:06 #11
barklund < jae så var din jo næsten nemmere :)
Avatar billede barklund Nybegynder
30. marts 2005 - 15:07 #12
Næsten :)
Avatar billede barklund Nybegynder
30. marts 2005 - 15:16 #13
Tark for points :)
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