login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Unix Time

Offline w0lfie - 14/04/2005 22:55 (laatste wijziging 14/04/2005 22:56)
Avatar van w0lfieNieuw lid Ik wil uit m'n database alle leden halen die zich de dag zelf geregistreerd hebben. Ik doe dit via deze query:

mysql_query("SELECT * FROM forum_users WHERE user_active = '1' && UNIX_TIMESTAMP(NOW()) = user_regdate")

Toch krijg ik niet het gewenste effect. Soms geeft het eens een resultaat, maar meestal duurt dit niet lang. Ik vermoed dat de uren/minuten ook meegerekend worden.

Kan iemand mij dus eens uitleggen hoe ik via die unix-time resultaten kan weergeven van een bepaalde datum ('vandaag' in dit geval)?

Thx!

7 antwoorden

Gesponsorde links
Offline TFOL - 14/04/2005 23:01
Avatar van TFOL PHP beginner http://www.site...amp;cat=11

en cijfers hoefen niet tussen ' bij een mysql query 

Grtn Robin
Offline Klopper - 15/04/2005 00:34
Avatar van Klopper HTML interesse De query is naar mijn weten niet juist...
In jou geval staat er dan een kolom met de naam UNIX_TIMESTAMP(NOW()) en een record met user_regdate...
Waarschijnlijk moet je dit hebben:

mysql_query("SELECT * FROM forum_users WHERE user_active = 1 && user_regdate = UNIX_TIMESTAMP(NOW())");

ohjah: integers (getallen) hoeven niet tussen single-quotes... Geen '1', maar gewoon 1 Aldoende leert men...
Offline xSc - 15/04/2005 07:53
Avatar van xSc Onbekend Ik zou dit doen:

mysql_query("SELECT * FROM forum_users WHERE user_active = 1 AND user_regdate = CURDATE()")

waarbij user_regdate van het type DATE is.
Offline w0lfie - 22/04/2005 13:39
Avatar van w0lfie Nieuw lid Geen van de oplossingen blijkt te werken, jammer genoeg.

user_regdate is van het type int(11), en een voorbeeld van een waarde daarin is: "1110646828". Nu heb ik jullie code uitgeprobeerd maar het heeft geen effect. Ik snap het niet...
Offline Maarten - 22/04/2005 14:19
Avatar van Maarten Erelid Wat je kan doen: je berekent de UNIX TIME voor vandaag, 00:00, en de huidige. En dan haal je alle rijen op waar die tijd kleiner is dan nu en hoger dan 00:00..? Kan omslachtig zijn, maar het zal toch werken 
Offline xSc - 22/04/2005 14:25 (laatste wijziging 22/04/2005 14:28)
Avatar van xSc Onbekend mysql_query("SELECT * FROM forum_users WHERE user_active = 1 AND CURDATE() = user_regdate");

- Cijfers buiten quotes!
- && is fout. Ook al kan het wel, AND is de juiste.

Ik ga ervanuit dat je user_regdate opslaat als DATE (dat is het formaat: YYYYMMDD). CURDATE() geeft de huidige datum weer. Ga nu niet zitten knoeien met TIMESTAMPS, maar gebruik deze oplossing gewoon.

http://dev.mysq...tions.html
Offline w0lfie - 22/04/2005 14:59
Avatar van w0lfie Nieuw lid @Henri: dat is het nu net. De datum wordt helemaal niet opgeslagen in het formaat YYYYMMDD, want dan had ik er ook geen last mee. Het script (phpBB) gebruikt unixtime, en in die reeks cijfers kan je de datum niet uithalen (zie het als een soort codering).

Aangezien het niet zo evident is om even het hele forum te herschrijven omdat ik DATE wil gebruiken ipv die UNIX_TIME had ik dus graag een oplossing gehad om die unixtime te vergelijken.

Ik ga de Murfy zijn idee eens uittesten. Ik hou jullie op de hoogte!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2019 Sitemasters.be - Regels - Laadtijd: 0.19s