我是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;当前日期(假设它会起作用)。
关于如何做到的任何想法?
非常感谢
答案 0 :(得分:3)
您可以使用date function
在PHP中执行此操作$day = date('j', strtotime($donnees['date']));
$month = date('n', strtotime($donnees['date']));
$year = date('Y', strtotime($donnees['date']));
之一的查询中
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 ?> <?php echo $month ?> <?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)