PHP + mySQL LIKE probleem
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
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
SELECT * FROM verdiensten WHERE tijd BETWEEN vandaag 00.00 AND vandaag 23:59
Aad hoe weet je wat vandaag is? moet je daar gewoon de query stoppen en via PHP date de datum invoegen?
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
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
zo dom is hij echt niet hoor, je moet gewoon dan met sql de datum van vandaag krijgen...
Noppes Homeland op 01/01/2011 15:29:56:
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)Wat Aad als oplossing geeft is -/- er zijn beter oplossingen te bedenken
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
maar ja dat staat toch allemaal geschreven op:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
WHERE DATE(datumveld) = CURDATE()
Dank voor de wijze les, ik neem mijn sarcastische opmerking terug!