Avatar billede codeadmin Nybegynder
08. februar 2011 - 15:42 Der er 9 kommentarer og
1 løsning

Forskel på datoer

Hej,

ved godt der er tons af forskellige spørgsmål omkring datoer men fandt ikke en som gav mig et svar :(


Landet ligger sådan at jeg har en mysql db hvor der bla er en kollone som hedder b_dato (betalings dato) og deri stå en dato.

Det jeg gerne vil have er at når man logger ind så tjekker den om der er datoer som er ældre en d.d også skal den sige det er der eller slet ingen ting. Har styr på at den skal fortælle mig tingene det er faktisk kun sammenligningen som volder mig problemer.


formateringen i databasen er: 8/2-2011
Avatar billede jakobdo Ekspert
08. februar 2011 - 15:46 #1
Du kunne starte med at bruge en formattering i din db, som svarer til DATETIME eller bare DATE.
Så kan du nemmere regne på datoer.
Avatar billede repox Seniormester
08. februar 2011 - 15:48 #2
Hvorfor bruge et tidsformat som du ikke kan direkte sammenligne på? Nu bliver du nød til at manipulere ganske voldsomt med en mysql forespørgsel som faktisk kunne have været utrolig simpel...

MySQL har masser af forskellige tidsformater du kan anvende, sammenligne, sortere og hente fra - men når du bruger et selvopfundet format, er det bare en tekststreng i stil med 'lkruthgnvawe'...
Avatar billede The_Buzz Novice
08. februar 2011 - 15:56 #3
Avatar billede cronaldo Nybegynder
08. februar 2011 - 17:37 #4
Du kan jo bare lave en:

$datenow = date("j/n-Y");
$for = mysql_query("SELECT * FROM tabel WHERE b_dato <= '".$datenow."' ORDER BY id DESC");

Den må da returnere det, du søger?
Avatar billede The_Buzz Novice
08. februar 2011 - 21:00 #5
cronaldo -- det ville have virket med en DATETIME eller DATE, men det duer ikke med en string som feltet sikkert er sat som.
Avatar billede webweaver Praktikant
08. februar 2011 - 22:00 #6
Det vil ikke virke cronaldo. Læg mærke til dato formattet. Det kan du ikke sortere ud fra sådan lige. Det skal være DATE eller DATETIME fx, før at det duer :-)
Avatar billede codeadmin Nybegynder
08. februar 2011 - 22:37 #7
kan godt få øje på det måske ikke er så smart nu :(

SÅ kan det det lade sig gøre at kunne gøre det - på en knørtlet måde?
Avatar billede The_Buzz Novice
11. februar 2011 - 17:22 #8
@codeadmin: Lav et script til at konvertere datafelterne, lav et nyt dato felt i tabellen og få konverteret det originale til Datetime eller noget lignende

Husk at tage backup af db først.
Avatar billede The_Buzz Novice
22. februar 2011 - 07:59 #9
@codeadmin: Lykkedes det?
Avatar billede codeadmin Nybegynder
15. juni 2011 - 20:33 #10
Undskyld jeg ikke har været på siden. Har "desværre" været så heldig at rejse USA tyndt lukker her og så opretter jeg igen når jeg får set mere på det.

Tak for hjælpen ellers.
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