您好我已经查看过已发布的有关此问题的问题,并尝试调整我的代码来做一个类似的事情。基本上我在我的mysql数据库中有一个字段,其日期格式为yyyy-dd-mm我需要格式为dd-mm-yyyy。目前我的代码卡在echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
行上并读取此Parse错误:语法错误,意外T_STRING,期待','或';'。不知道如何解决这个想法,我会很高兴。
$result = mysql_query("SELECT * FROM dbGigs WHERE CURDATE() < date ORDER BY date");
echo "<table class=\"gigs\">
<tr>
<th>Venue</th>
<th>Town</th>
<th>Date</th>
<th>Time</th>
<th>Status</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><strong>" . $row['venue'] . "</strong></td>";
echo "<td><strong>" . $row['town'] . "</strong></td>";
echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
echo "<td><strong>" . $row['time'] . "</strong></td>";
echo "<td><strong>" . $row['status'] . "</strong></td>";
echo "</tr>";
答案 0 :(得分:7)
首先要做的事情
echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
这条线看起来不对;我怀疑它应该读取像
这样的东西 echo "<td><strong>" . date( "d/m/y", $row['date'] ) . "</strong></td>";
请注意缺少的函数调用和连接运算符。顺便说一句,虽然这在语法上是正确的(据我所知),它可能无法正常查找,具体取决于$row['date']
实际包含的内容 - 它需要是{{1}的Unix时间戳正确地理解它。
要将日期作为Unix时间戳获取,您可以在选择日期时使用MySQL函数UNIX_TIMESTAMP()
,例如
date()
然后,您可以正常访问SELECT *, UNIX_TIMESTAMP(date) AS date_ts FROM ...
,并将其传递到$row['date_ts']
函数进行格式化。或者,您可以使用strtotime()
之类的内容来解析返回的当前值,以便从中获取时间戳。
另一种选择是让MySQL使用DATE_FORMAT()
函数代表您格式化日期;再次,您可以访问查询返回的此值并将其打印出来。
答案 1 :(得分:1)
使用它像:
echo "<td><strong>".date("d/m/y", strtotime($row['date']))."</strong></td>";
答案 2 :(得分:0)
您必须致电date
function:
echo "<td><strong>".date("d/m/y", $row['date'])."</strong></td>";
答案 3 :(得分:0)
$res = mysql_query('SELECT dte FROM vtable');
$row = mysql_fetch_array($res);
print date('d M Y', strtotime($row['dte']));