【问题标题】:get authors with articles older than 11 months获取文章超过 11 个月的作者
【发布时间】:2018-02-20 10:20:29
【问题描述】:

我需要回应所有发表超过 11 个月文章的作者。 但是没有任何结果。

我的日期栏是这样的 - 2017-07-01 05:00:00

    $d = date("F 1, Y", strtotime("-11 months"));
// also tried:
    $d = mktime(0, 0, 0, date('n')-11, 1, date('y'));

    $items = '';

    $sql = "select * from posts where date < " . $d;
    $st = $db->prepare($sql);
    $db -> execute();
    while ($row = $st->fetch()) {
        $items .= "<div class='auth'>" . $row['auth'] . "</div>/n";
    }

    echo $items;

【问题讨论】:

  • 您似乎没有执行您的查询。
  • 需要执行查询$db-&gt;execute();
  • 您不需要在 PHP 中计算日期。数据库能够完成所有工作,如果你问得好的话。
  • 叹息$st-&gt;execute()。如果您要进行编辑以完全改变您发布的问题,请至少发表评论,或为您的问题添加注释...
  • 哪些是.....?

标签: php mysql date


【解决方案1】:

这里是一个查询,它返回一个不同的作者列表,这些作者的书籍出版时间超过 11 个月。

SELECT DISTINCT AUTH
FROM posts
WHERE `date`<DATE(NOW() - INTERVAL 11 MONTH);

【讨论】:

    【解决方案2】:

    在你的 PHP 代码中试试这个查询:

    $sql = "SELECT * FROM posts WHERE YEAR(date) = YEAR(CURRENT_DATE - INTERVAL 11 MONTH) AND MONTH(date) = MONTH(CURRENT_DATE - INTERVAL 11 MONTH)";
    

    【讨论】:

    • 现在没有错误,但没有任何结果。我确定有这样的帖子。
    • 首先在 phpmyadmin 中运行查询并查看结果
    猜你喜欢
    • 2011-12-22
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多