Avatar billede madseksperten Nybegynder
19. januar 2016 - 10:44 Der er 11 kommentarer og
1 løsning

return timestamp

Hejsa

Jeg har en form hvor jeg indsætter et tal. Hertil indsætter jeg også et timestamp i min MySQL db. Hvis jeg nu gerne vil have returneret hvor mange tal jeg har indsat i min form idag, hvordan ville jeg så kunne gøre det?

SELECT * FROM Product_sales
WHERE From_date >= '2016-01-19'
AND To_date <= '2016-01-19'

Overstående Query retunerer hvor mange tal der er indsat idag, men det skulle gerne være sådan at der returneres automatisk fra kl.00.00 til 00.00, altså 24 timer, og derefter startes en ny runde.

Mvh Mads
Avatar billede Slater Ekspert
19. januar 2016 - 10:49 #1
Ikke forstået. Er det ikke netop hvad det gør?
Avatar billede madseksperten Nybegynder
19. januar 2016 - 10:52 #2
Tak for det hurtige svar.

Men jeg tænker at date>= til date<= ikke ændrer sig fra dag til dag. Hvis jeg kører denne kode imorgen, vil return vel give mig resultaterne fra  '2016-01-19' til  <= '2016-01-19'?
Avatar billede jakobdo Ekspert
19. januar 2016 - 10:55 #3
Hvad med noget ala:

SELECT COUNT(*) FROM Product_sales WHERE DATE(From_date) = CURDATE() AND DATE(To_date) = CURDATE()
Avatar billede madseksperten Nybegynder
19. januar 2016 - 11:45 #4
Det lyder fornuftigt Jakobdo. Jeg prøver at køre denne Query når jeg kommer hjem. Jeg venter lige med at acceptere svaret.
Avatar billede jakobdo Ekspert
19. januar 2016 - 11:57 #5
Hvad er din ide med at have FROM_DATE og TO_DATE ?
Er en dato ikke nok ?
F.eks. INSERT_DATE ?
Eller lign...
Avatar billede madseksperten Nybegynder
19. januar 2016 - 14:11 #6
Det ved jeg ikke helt Jacob. Jeg troede egentligt bare Query skulle være sådan? Min insert ser sådan ud nu:

$stmt = $mysqli->prepare("INSERT INTO numbertable (numbers, numdate, Salesperson, color) VALUES (?, NOW(), ?, ?)");

Den virker fint, men det er måske forkert?
Avatar billede jakobdo Ekspert
19. januar 2016 - 15:06 #7
Nu er jeg måske lidt lost.
Hvordan ser din INSERT ud i dag?
Som du lige har postet ?
hvis ja, så kan du jo nøjes med:

SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) == CURDATE()
Avatar billede madseksperten Nybegynder
19. januar 2016 - 19:37 #8
Min insert statement ser sådan ud i dag:

$stmt = $mysqli->prepare("INSERT INTO numbertable (numbers, numdate, Salesperson, color) VALUES (?, NOW(), ?, ?)");

Når jeg prøver at køre query:


SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) == CURDATE()

får jeg følgende fejl:


SQL query: Documentation

SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) == CURDATE()
LIMIT 0, 30
MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== CURDATE()
LIMIT 0, 30' at line 1 []


Jeg har ledt lidt rundt, men kan ikke lige finde ud af hvad det kan være?
Avatar billede madseksperten Nybegynder
19. januar 2016 - 19:41 #9
Jeg har en lille fornemmelse af det kunne have noget at gøre med min NOW(), i min insert statement?
Avatar billede madseksperten Nybegynder
19. januar 2016 - 20:27 #10
Så var løsningen her. Jeg havde helt overset at == skulle være = :)

$result = $mysqli->query("SELECT COUNT(*) FROM numbertable WHERE DATE(numdate) = CURDATE()");

Ligger du et svar Jakob og tak for hjælpen.
Avatar billede jakobdo Ekspert
20. januar 2016 - 20:44 #11
Du har allerede et svar tidligere.
Der havde jeg også korrekt kun 1 =.
Men kan godt se jeg smed == i den sidste. :(
Men brug evt. tidligere svar.
Avatar billede jakobdo Ekspert
22. januar 2016 - 14:16 #12
Takker for point.
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