【问题标题】:Php/Mysql While loop: Date formatPHP/Mysql While 循环:日期格式
【发布时间】:2013-11-21 04:53:44
【问题描述】:

我对 PHP/Mysql 真的很陌生。我最近想出了一个简单的 php 循环代码,我用它来“回显”我的“事件”数据库中的名称、日期、开始时间、结束时间和链接。效果很好。

<?php
try
{
    $bdd = new PDO('mysql:host=host;dbname=events', 'events', 'Pword');
}
catch (Exception $e)
{
        die('Error : ' . $e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM events');

while ($donnees = $reponse->fetch())
{
?>
<?php echo $donnees['event']; ?><br />
<?php echo $donnees['date']; ?><br />
From <?php echo $donnees['starttime']; ?> to <?php echo $donnees['endtime']; ?><br />
<a href="http://<?php echo $donnees['link']; ?>"><?php echo $donnees['link']; ?></a><br />

<?php
}

$reponse->closeCursor();

?>

现在,我一直在尝试通过将日、月和年分隔为单独的值来更改日期输出,以便我可以回显自己的翻译 (01=January) 或 (01=Janvier)。 Mysql 字段必须保持“日期”默认格式(yyyy-mm-dd),因为我需要循环来仅显示即将发生的事件:事件日期 => 当前日期(假设它会起作用)。

关于如何做到这一点的任何想法?

非常感谢

【问题讨论】:

  • 我的回答对你有帮助吗?

标签: php mysql date loops


【解决方案1】:

您可以在 PHP 中使用 date function 来完成此操作

$day   = date('j', strtotime($donnees['date'])); 
$month = date('n', strtotime($donnees['date'])); 
$year  = date('Y', strtotime($donnees['date'])); 

或在您的查询中使用mysql date functions之一

select  *,  
        DAY(date) as event_day, 
        MONTH(date) as event_month, 
        YEAR(date) as event_year
 from   events

并且只查询未来的日期?

select * from events where date >= NOW()   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-20
    • 2011-11-30
    • 1970-01-01
    • 2021-08-26
    • 2023-03-24
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多