PHP + mySQL LIKE probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk Tenk

Henk Tenk

01/01/2011 11:26:38
Quote Anchor link
Hallo,

Ik heb in mijn database een tabel genaamd verdiensten.
In deze tabel word een ID, aantalpunten, gebruikerid en tijd gezet
De tijd word er in gezet via mysql query NOW();
Dan krijg je de datum zoals: 2011-01-01 11:25:56

Ik wil nu alle verdiensten van een dag ophalen en de punten bij elkaar optellen.
Het lukt mij niet ik dacht aan deze query:
SELECT * FROM verdiensten WHERE tijd LIKE CURDATE()%
en daarna via while($row=mysql_fetch_assoc($query))
alle punten bij elkaar optellen.

Ik hoor graag hoe ik dit wel kan doen
 
PHP hulp

PHP hulp

22/11/2024 00:14:41
 
Noppes Homeland

Noppes Homeland

01/01/2011 11:57:57
Quote Anchor link
1. geen like gebruiken!!!! je kan op heel eenvoudige wijze de datum tijd casten naar een datum
2. geef je veldnamen een duidelijke naam. tijd is hh:mi:ss en niet yyyy-mm-dd hh:mi:ss

zie de datum tijd functies van mysql

Oh en gebruik de constante en niet de functie CURDATE(), en de oplossing zit zeer zeker niet in DATE_FORMAT
Gewijzigd op 01/01/2011 11:59:13 door Noppes Homeland
 
Aad B

Aad B

01/01/2011 13:32:07
Quote Anchor link
SELECT * FROM verdiensten WHERE tijd BETWEEN vandaag 00.00 AND vandaag 23:59
 
Henk Tenk

Henk Tenk

01/01/2011 15:13:11
Quote Anchor link
Aad hoe weet je wat vandaag is? moet je daar gewoon de query stoppen en via PHP date de datum invoegen?
 
Noppes Homeland

Noppes Homeland

01/01/2011 15:29:56
Quote Anchor link
Quote:
Aad hoe weet je wat vandaag is


Je bent bezig met SQL niet met PHP, dus denk a.u.b. even na.

Kijk nu toch eens op je gemak naar de datum en tijd functies:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Wat Aad als oplossing geeft is -/- er zijn beter oplossingen te bedenken

http://www.w3schools.com/sql/sql_func_sum.asp
http://www.w3schools.com/sql/sql_groupby.asp
Gewijzigd op 01/01/2011 15:37:21 door Noppes Homeland
 
Henk Tenk

Henk Tenk

01/01/2011 15:39:27
Quote Anchor link
haha noppes als je zo slim bent dan moet je toch echt weten dat vandaag geen functie is en dat dit dynamisch moet zijn dus niet elke dag de datum invoeren
 
Vincent Huisman

Vincent Huisman

01/01/2011 16:00:46
Quote Anchor link
zo dom is hij echt niet hoor, je moet gewoon dan met sql de datum van vandaag krijgen...
 
Aad B

Aad B

01/01/2011 20:46:16
Quote Anchor link
Noppes Homeland op 01/01/2011 15:29:56:
Wat Aad als oplossing geeft is -/- er zijn beter oplossingen te bedenken
De oplossing die ik geef los ik in mijn SQL implementatie op met SELECT * FROM verdiensten WHERE variabele_tijd BETWEEN trunc(sysdate) AND trunc(sysdate+1)
Nu alleen nog even zoeken hoe of in MySQL trunc(date) functie te bouwen is omdat het helaas niet standaard aanwezig is....
Gewijzigd op 01/01/2011 21:12:34 door Aad B
 
Noppes Homeland

Noppes Homeland

01/01/2011 20:53:30
Quote Anchor link
Aad, je hoeft niets te bouwen, het feit is dat je de DATETIME gewoon naar DATE moet casten of nog simpeler DATE() gebruiken

maar ja dat staat toch allemaal geschreven op:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
 
- SanThe -

- SanThe -

01/01/2011 20:58:52
Quote Anchor link
WHERE DATE(datumveld) = CURDATE()
 
Aad B

Aad B

01/01/2011 21:12:12
Quote Anchor link
@Noppes en @Santhe:
Dank voor de wijze les, ik neem mijn sarcastische opmerking terug!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.