w32 Posted September 2, 2006 Share Posted September 2, 2006 Hello guys I wondered whether you could help me with a mysql query.. :)So...I have a field in a table, with a date int. It's a script that groups news elements by day. Then all the news for that specific day must be displayed. And I'm having trouble with that...The int in the database field contains the info of the day, year, month etc (basically date("U") )But I only need to get the day, to get all the news of a specific day...how could I make a query like that ??? Quote Link to comment Share on other sites More sharing options...
AndyB Posted September 2, 2006 Share Posted September 2, 2006 When you say 'basically date("U")' - seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) - is that [i][b]actually[/b][/i] what's in the database field or does the database field contain some sub-set or funny derived format from that? Quote Link to comment Share on other sites More sharing options...
w32 Posted September 2, 2006 Author Share Posted September 2, 2006 Yip it inserts something like this = 1157230857And I can format that date to my likings to get day/month/etc... that's why I use it. But I only need to compare the day...and I can't figure out how to make a query like that one..thanks for your help ;) Quote Link to comment Share on other sites More sharing options...
w32 Posted September 2, 2006 Author Share Posted September 2, 2006 a little help :( Quote Link to comment Share on other sites More sharing options...
wildteen88 Posted September 2, 2006 Share Posted September 2, 2006 If you wnat to get the day from a timestamp use[code]<?php$timestamp = time();$day = date("j", $timestamp);?>[/code]Then use $day in your SQL query.Note j in the date function returns the day without the leading zero eg (1 - 31)if you wnat the leading zero use d Quote Link to comment Share on other sites More sharing options...
w32 Posted September 2, 2006 Author Share Posted September 2, 2006 I figured that bit, but how do you would a comparison to the value in the database would work out? in your example I would have to do something likeSELECT * FROM news WHERE dateint='$day' and that wouldn't work out, would it? Quote Link to comment Share on other sites More sharing options...
AndyB Posted September 2, 2006 Share Posted September 2, 2006 Life would be a lot simpler if you had stored a date yyyy-mm-dd field instead of the number of seconds since the start ot time ... the query would have been simple then.As it is, the only route I see is to get a specific date (via form input or URL) and then process it so as to get the 'time' at 00:00 on that day and the 'time' at 23:59 on that day and then do a SELECT where yourtimefield is less than the 23:59 time AND yourtimefield is more than the 00:00 time. Quote Link to comment Share on other sites More sharing options...
w32 Posted September 2, 2006 Author Share Posted September 2, 2006 yep though I think it's not impossible, wanted to know if someone knew how to do it :) Quote Link to comment Share on other sites More sharing options...
AndyB Posted September 2, 2006 Share Posted September 2, 2006 [quote author=w32 link=topic=106625.msg426642#msg426642 date=1157219387]... wanted to know if someone knew how to do it :)[/quote]Isn't that what I just told you? Write a snippet of code to try. The manual pages on the date() and time() functions tell you all you need to know. If you run into trouble, post your code and explain the troubles you're having. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.