我试图通过从mysql中的事件表中提取数据来创建即将发生的事件列表。目前输出如下:
即将举行的活动 2011-09-21学校Walkathon 2011-10-06开放日 2011-10-17 PTA会议 2011-11-14 PTA会议 2011-09-30员工发展日
但是,我希望日期只显示月份和日期。这是我的代码:
<?php
//---Connect To Database
$hostname="localhost";
$username="root";
$password="urbana116";
$dbname="vcalendar3";
mysql_connect($hostname,$username, $password) OR DIE ("<html><script language='JavaScript'<alert('Unable to connect to database! Please try again later.'),history.go(-1)</script></html>");
mysql_select_db($dbname);
//---Query the database into dataset ($result) stop after the fifth item
$query = 'SELECT event_id, event_title, event_date FROM events WHERE event_date >= CURDATE() ORDER BY category_id != 9, category_id != 7, event_date ASC limit 5';
$result = mysql_query($query);
//---Populate $array from the dataset then display the results (or not)
if ($result) {
while ($array= mysql_fetch_assoc($result)) {
echo "<TR><td>".$array[event_date]."</TD><td><a href='/vcalendar/event_view.php?event_id=".$array[event_id]."'>".$array[event_title]."</a></td></tr>";
}
}else{
echo "No results";
}
?>
我试图从event_date数组中选择某些字符,如下所示:
echo "<TR><td>".$array[event_date][5]."</TD><td><a href='/vcalendar/event_view.php?event_id=".$array[event_id]."'>".$array[event_title]."</a></td></tr>";
但是只显示第5个字符,而不是字符5-9 ......
答案 0 :(得分:1)
您可以使用substr()PHP函数实现此目的:http://pt.php.net/manual/en/function.substr.php
示例:
substr($array[event_date],5);
答案 1 :(得分:1)
echo date("m-d",srtotime($array[event_date]);
// 09-05
答案 2 :(得分:0)
怎么样:
echo "<TR><td>".substr($array[event_date], 5)."</TD><td><a href='/vcalendar/event_view.php?event_id=".$array[event_id]."'>".$array[event_title]."</a></td></tr>";
答案 3 :(得分:0)
您应格式化日期。
使用date('m-d',strtotime($array[event_date]))
这样,你可以灵活地以任何你喜欢的方式显示它(比如9月21日而不是09-21)
答案 4 :(得分:0)
为了更自由,您可以使用:
echo "<tr><td>".date("m-d",strtotime($array['event_date']))."</td> ...
将m-d
更改为您想要的任何格式。例如,F dS
会提供类似September 21st
的内容。