Php / Mysql While循环:日期格式

时间:2013-11-09 02:14:04

标签: php mysql date loops

我是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 = 1月)或(01 = Janvier)。 Mysql字段必须保持“日期”默认格式(yyyy-mm-dd),因为我需要循环才能显示即将发生的事件:event date =&gt;当前日期(假设它会起作用)。

关于如何做到的任何想法?

非常感谢

2 个答案:

答案 0 :(得分:3)

您可以使用date function

在PHP中执行此操作
$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()   

答案 1 :(得分:0)

惊人!

从日期选择&gt; = NOW()完美无缺。我更新了我的代码如下:

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

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

while ($donnees = $reponse->fetch())
{
?>
<?php echo $donnees['event']; ?><br />
<?php echo $day ?>&nbsp;<?php echo $month ?>&nbsp;<?php echo $year ?><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();

?>

我知道为什么我到处都会得到日期的deffault值? (31 12 1969)