好的,我想做的是,假设我有一个在线帐户,我正在查看已经发生的所有交易,我想要在asc中的所有日期。时间顺序。 我已经
了$query = "SELECT * FROM action ORDER BY time ASC";
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysql_fetch_row($result);
//$date = strtotime('jMy - g:ia', $row[1]);
echo <<<_END
<table>
<tr>
<td width='40%'><b>ACCOUNT</b></td>
<td width='20%'><b>TIME</b></td>
<td width='20%'><b>AMOUNT</b></td>
</tr>
<tr>
<td width='40%'>$row[0]</td>
<td width='20%'>$row[1]</td>
<td width='20%'>$row[2]</td>
</tr>
</table>
_END;
};
注释日期命令是我认为我出错的地方。
答案 0 :(得分:0)
好的,所以你要在数据库中存储纪元时间。
首先,将其更改为TIMESTAMP
列,然后将其作为可读时间呈现在您正在使用的任何MySQL(我假设)客户端中。这不是必要的,但它有所帮助。
其次,要将它们转换为人类可读的日期,请使用date
命令。
$date = date('jMy - g:ia', $row[1]);
http://php.net/manual/en/function.date.php
您的示例中的 strtotime
会将人类可读的日期字符串转换为您已有的“纪元时间”格式。 MySQL中还有UNIX_TIMESTAMP
,它可以从具有日期的值转换为具有历史意义的值。
另外,简化你的循环:
while ($row = mysql_fetch_row($result)) {