Met_Fredrik Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 (endret) Hei, Jeg holder på med et online bruktmarked, har så vidt begynt egentlig, registrering og login går gjennom mysql. Og det skal også posting av artikler som skal selges. Men jeg støtte på et problem som tittel beskriver, jeg skal ha mulighet for at brukeren velger hvor mange dager "auksjonen" skal vare, sånn at den slettes etter x antall dager. Noen som har noen idéer til hvordan jeg kan gjøre dette? Takk! Endret 13. januar 2007 av Met_Fredrik Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 (endret) Lag en cleanup.php som kjøres hver gang en bruker er inne på siden. Sett den til å kjøre sjeldnere dersom du har mye trafikk. Endret 12. januar 2007 av ze5400 Lenke til kommentar
Met_Fredrik Skrevet 12. januar 2007 Forfatter Rapporter Del Skrevet 12. januar 2007 Lag en cleanup.php som kjøres hver gang en bruker er inne på siden. Sett den til å kjøre sjeldnere dersom du har mye trafikk. 7708865[/snapback] Takker, men hvis jeg da f.eks lagrer datoen/tiden auksjonen ble lagt ut og legger dette i tabellen sammen med tittel, beskrivelse osv, og hvor mange dager den skal vare. Hvordan setter jeg da opp php fila mi til å sjekke alle datoene? Er en liten fersking, hehe Takk for svar så langt. Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 (endret) date("Y-m-d H:i:s"); er mysql datetime. mysql_query("DELETE FROM salg WHERE expire <= '" . date("Y-m-d H:i:s") . " ';"); Er en mulighet EDIT: Tror jeg misforsto deg litt, leste ikke inlegget ditt helt. Blir lettere å hjelpe deg om du legger opp databasestruktur Endret 12. januar 2007 av ze5400 Lenke til kommentar
Met_Fredrik Skrevet 12. januar 2007 Forfatter Rapporter Del Skrevet 12. januar 2007 date("Y-m-d H:i:s"); er mysql datetime. mysql_query("DELETE FROM salg WHERE expire <= '" . date("Y-m-d H:i:s") . " ';"); Er en mulighet EDIT: Tror jeg misforsto deg litt, leste ikke inlegget ditt helt. Blir lettere å hjelpe deg om du legger opp databasestruktur 7709119[/snapback] Når du setter WHERE, der, søker den igjennom og finner det som har dato "mindre" enn den datoen jeg evt lagrer som en variabel? La oss da si at jeg har en database som heter bruktmarked, inni den har jeg en tabell som heter SALG Der lagrer jeg: TITTEL, BESKRIVELSE, DATO, xDAGER. Takker for raske svar! Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 Ikke bruk xDager, men bruker expire, for å sette hvilken dato og klokkeslett den utgår <= betyr mindre enn eller er lik, som i dette tilfelle betyr har utgått eller utgår Jeg husker ikke helt hvordan du får mysqldatetime om hvor lenge, men det er ikke vanslkig å finne ut Lenke til kommentar
Met_Fredrik Skrevet 12. januar 2007 Forfatter Rapporter Del Skrevet 12. januar 2007 Ikke bruk xDager, men bruker expire, for å sette hvilken dato og klokkeslett den utgår <= betyr mindre enn eller er lik, som i dette tilfelle betyr har utgått eller utgår Jeg husker ikke helt hvordan du får mysqldatetime om hvor lenge, men det er ikke vanslkig å finne ut 7709174[/snapback] Et lite problem til, hvordan kan jeg legge til f.eks 30 dager til en dato og vite at det blir riktig i forhold til antall dager i månedene osv? Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 (endret) Gå via unix time // Få mysqldatetime om i uke $mysqldatetime = gmdate("Y-m-d H:i:s", (time()+(7*24*60*60))); // Det setninga over gjør er å regne ut 60 // sekunder ganger 60 minutter ganger 24 timer // ganger 7 dager. Da får vi antall sekunder i en uke. // Dette konverteres over tik mysql datetime. Jeg er ganske trøtt, og har ikke testet koden, så jeg vet ikke om det virker, men jeg tror det EDIT: Fix, erstattet: $mysqldatetime = gmdate("Y-m-d H:i:s", (7*24*60*60)); med: $mysqldatetime = gmdate("Y-m-d H:i:s", (time()+(7*24*60*60))); og en ting til, ikke diss meg for paranester folkens Jeg liker de Endret 12. januar 2007 av ze5400 Lenke til kommentar
Met_Fredrik Skrevet 12. januar 2007 Forfatter Rapporter Del Skrevet 12. januar 2007 Gå via unix time // Få mysqldatetime om i uke $mysqldatetime = gmdate("Y-m-d H:i:s", (7*24*60*60)); // Det setninga over gjør er å regne ut 60 // sekunder ganger 60 minutter ganger 24 timer // ganger 7 dager. Da får vi antall sekunder i en uke. // Dette konverteres over tik mysql datetime. Jeg er ganske trøtt, og har ikke testet koden, så jeg vet ikke om det virker, men jeg tror det 7709267[/snapback] Er litt trøtt jeg og, blir nesten som chatting det her, men bare for å ha alt klart før jeg fortsetter nå, etter den variablen der har kjørt setter den datoen i dag+en uke? Takk! Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 (endret) Ja, det stemmer. Du bestemmer antall dager med å endre på 7 EDIT: Vent, unnskyld, jeg er lutt trøtt. Oppdaget en viktig feil! EDIT2: Fikset nå Endret 12. januar 2007 av ze5400 Lenke til kommentar
Met_Fredrik Skrevet 12. januar 2007 Forfatter Rapporter Del Skrevet 12. januar 2007 Ja, det stemmer. Du bestemmer antall dager med å endre på 7 7709341[/snapback] Da skal jeg sette i gang, spør nok igjen:D Skjer alltid noe. Men tusen takk for veldig kjappe svar, hadde ikke ventet meg en full løsning innen en time akkurat. Lenke til kommentar
ze5400 Skrevet 12. januar 2007 Rapporter Del Skrevet 12. januar 2007 Lykke til. Hvis du lurer på noe mer, så post. Jeg sitter her en stund til jeg Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå