【问题标题】:mysql order by todaymysql 今天下单
【发布时间】:2018-08-06 23:28:24
【问题描述】:

在今天之前列出记录订单..?

我该怎么做?

我的 sql 查询:

$sql = $db->sql(
                "SELECT haber.h_id, haber.k_id, haber.baslik, haber.baslik_renk, haber.resim, haber.k_icerik, haber.link, haber.time, kategori.baslik as kategori 
                FROM haber LEFT JOIN kategori ON haber.k_id=kategori.k_id
                WHERE kategori.onay='1' AND haber.onay='1' AND haber.time<='".time()."' ORDER BY haber.time DESC LIMIT 30");
  • “时间”是列
  • Unix 时间戳格式

【问题讨论】:

  • 您的意思是order by date 还是limited to today?今天下单有点没用。
  • 限今天..
  • 为今天 0:00:00 创建一个时间戳并添加到您的查询中:WHERE haber.time &gt;= timestamp_today
  • 今天午夜的时间戳你可以得到from this question
  • @ReshoMarcos 你有保存日期的列吗?

标签: php mysql listings


【解决方案1】:

尝试将 unix 时间戳转换为日期 DATE(FROM_UNIXTIME(haber.time)) 并将其与 DATE(SYSDATE()) 进行比较(sysdate 将返回当前数据库日期):

$sql = $db->sql(
    "SELECT haber.h_id, 
            haber.k_id, 
            haber.baslik, 
            haber.baslik_renk, 
            haber.resim, 
            haber.k_icerik, 
            haber.link, 
            haber.time, 
            kategori.baslik as kategori 
    FROM haber 
    LEFT JOIN kategori ON haber.k_id=kategori.k_id
    WHERE kategori.onay='1' 
      AND haber.onay='1' 
      AND DATE(FROM_UNIXTIME(haber.time)) = DATE(SYSDATE())
    ORDER BY haber.time DESC 
    LIMIT 30"
);

你也可以使用服务器日期,像这样:

AND DATE(FROM_UNIXTIME(haber.time)) = DATE(" . date('Y-m-d') . ")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 2018-04-29
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多