Jump to content

CURDATE()


The Little Guy

Recommended Posts

Im adding a part "Todays Hot Products"

 

This will display the day's Hot Products, or the most commonly viewed products for the day.

 

In the viewed_products table, I have a date column, that has a date formatted like: 2007-02-28 10:33:26

I want to get this portion: 2007-02-28 and then it doesn't matter what comes after that.

 

This is the line that Does that

WHERE VIEWED_PRODUCTS.DATE = '(CURDATE()%,INTERVAL 1 DAY)'

Is it correct?

 

Here is the full SQL

SELECT *,COUNT(PRODUCT)
FROM VIEWED_PRODUCTS
INNER JOIN IMAGES
INNER JOIN PRODUCTS 
ON
PRODUCTS.PRODUCT_NUM = VIEWED_PRODUCTS.PRODUCT
WHERE VIEWED_PRODUCTS.DATE = '(CURDATE()%,INTERVAL 1 DAY)'
GROUP BY VIEWED_PRODUCTS.DATE LIMIT 3

Link to comment
https://forums.phpfreaks.com/topic/40577-curdate/
Share on other sites

I think you're missing a "DATE_SUB" on there.  I assume the "%" is meant to do some kind of wildcard match against the time portion.  That isn't what is needed. 

 

There are 2 ways to do something like this, depending on what you're after.  You can get all rows with a date equal to yesterday:

DATE(viewed_products.date) = DATE_SUB(CURDATE(),INTERVAL 1 DAY)

 

Or you could get all rows from within the last 24 hours:

viewed_products.date > DATE_SUB(NOW(),INTERVAL 1 DAY)

 

Check out the functions I used here on the mysql docs: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

Link to comment
https://forums.phpfreaks.com/topic/40577-curdate/#findComment-197000
Share on other sites

I can understand that... makes the query more difficult though.  Is there a better way to accomplish the "datetimes from yesterday" than this? -->

viewed_products.date BETWEEN ((CURDATE()+" 0:00:00") - INTERVAL 1 DAY) AND ((CURDATE()+" 23:59:59") - INTERVAL 1 DAY)

Link to comment
https://forums.phpfreaks.com/topic/40577-curdate/#findComment-197166
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.