如何只显示mysql_fetch_array中的某些字符

时间:2011-09-21 15:53:54

标签: php mysql

我试图通过从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 ......

5 个答案:

答案 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的内容。