Avatar billede tlunde Nybegynder
11. maj 2003 - 10:25 Der er 8 kommentarer og
1 løsning

Udløbstid på sql post...

Hejsa,
Jeg er ved at lave en lille salgsside, og der indrykker jeg poster via en form til en sql database. Jeg ville så gerne have det sådan at man f.eks. kunne sætte en grænse på hvor lang tid en post skulle være tilgængelig. Kan det lade sig gøre??

F.eks. hvis man indrykker en post, og så skal den være tilgængelig i en uge, og så slettes den automatisk fra db'en. Kan noget i den stil lade sig gøre??

\ThomasLunde.dk
Avatar billede erikjacobsen Ekspert
11. maj 2003 - 10:29 #1
slettes? Du skal vel have den stående for statistiske formål.

Sæt en udløbsdao på som felt (type DATE), og i din select, når du viser
dine poster, vælger du kun de aktuelle.
Avatar billede tlunde Nybegynder
11. maj 2003 - 10:31 #2
Min sql sætning ser lige nu sådan her ud:

$dato = date('d/m/Y H:i:s');
mysql_query("INSERT INTO kobsalgbytte (dato, hvad, kategori, titel, beskrivelse, pris, navn, hjemsted, tlf, email)
VALUES ('$dato', '$hvad', '$kategori', '$titel', '$beskrivelse', '$pris', '$navn', '$hjemsted', '$tlf', '$email')") OR DIE (mysql_error());
mysql_close;

Er der her i denne sql sætning jeg skal sætte den udløbsdato på, eller er det først når jeg trækker data ud fra db'en igen, at den skal bruges?
Avatar billede clausjul Nybegynder
11. maj 2003 - 10:32 #3
Det er ikke muligt at slette nogle poster fra databasen automatisk. Du er nødt til at lave fx. en PHP-script som laver en tjek på dato-feltet og sletter de poster som er ældre end en uge.

Men det kan også lade sig gøre ved at skrive (hvis datoen er ÅÅÅÅ-MM-DD):
DELETE FROM <table> WHERE dato<=(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY)),'%Y-%m-%d')
Avatar billede tlunde Nybegynder
11. maj 2003 - 10:36 #4
Det er det her php script jeg har lavet til at trække data ud fra db'en:
---------
<?
$visfra = $_GET[visfra];

if(!$_GET[visfra])
{
$visfra = 0;
}

$query = mysql_query("SELECT * FROM kobsalgbytte WHERE kategori='$_GET[kat]' ORDER BY id ASC limit $visfra, 5");
while ($row = mysql_fetch_array($query)) {

    echo "<tr>";
    echo "<td width='20'><div align='center'><img src='../images/link.gif' width='12' heigth='13'></div></td>";
    echo "<td colspan='3' height='20' valign='middle'><b>$row[titel]</b></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='20' rowspan='3'><div align='center'></div>";
    echo "<div align='center'></div>";
    echo "<div align='center'></div></td>";
    echo "<td colspan='3'>$row[beskrivelse]</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='480'><b>Dato: </b>$row[dato] | <b>Hits: </b>$row[hits] | <b>Tilføjet af: </b><a href='mailto: $row[email]'>$row[navn]</a></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan='3'>&nbsp;</td>";
    echo "</tr>";
}
?>
----------
Hvordan skal jeg så skrive det, for at få det til at passe med det sql kode jeg skrev ovenfor?
Avatar billede erikjacobsen Ekspert
11. maj 2003 - 10:40 #5
Du skal indsætte den ønskede udløbsdato i din INSERT og
bruge den i din SELECT
Avatar billede tlunde Nybegynder
11. maj 2003 - 10:54 #6
Okay, lige sådan, så ved jeg ikke lige hvordan jeg skal skrive det. Kan du/i prøve at hjælpe mig med hvordan jeg skal sætte det ind??
Avatar billede erikjacobsen Ekspert
11. maj 2003 - 10:56 #7
Prøv selv
Avatar billede tlunde Nybegynder
11. maj 2003 - 11:14 #8
hmm...tak for hjælpen :/
Avatar billede tlunde Nybegynder
17. maj 2003 - 09:58 #9
lukker her...fik ikke den nødvendige hjælp!
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
Computerworld tilbyder specialiserede kurser i database-management

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