0

我从下拉列表中查找 php。这将查找对特定员工考勤卡的更改并返回到表格。效果很好,但我无法从第 2 行、第 5 行和第 7 行返回结果以显示实时而不是 unix 时间,2 是生效日期,5 是请求日期,7 是批准/更改日期。这是我正在使用的代码。

<table border="1" width="75%" cellpadding="2" cellspacing="0">
<tr>
<td align="center">Date Effected</td>
<td align="center">Status requested</td>
<td align="center">Requested by</td>
<td align="center">Date requested</td>
<td align="center">Amended by</td>
<td align="center">Date amended</td>
</tr>
<?php
$host = "host";
$user = "USER";
$pass = "PWORD";
$dbname = "DB";
$loc = $fgmembersite->UserLocation();
$term = $_GET['button'];
$connection = mysql_connect($host,$user,$pass) or die (mysql_errno().":    ".mysql_error()."<BR>");
mysql_select_db($dbname);
$query= "select * from $loc where User_id=$term";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
while ($line = mysql_fetch_row($result) )
{
echo '<tr>';
echo '<td align="center">'.$line[2].'</td>';
echo '<td align="center">'.$line[3].'</td>';
echo '<td align="center">'.$line[4].'</td>';
echo '<td align="center">'.$line[5].'</td>';
echo '<td align="center">'.$line[6].'</td>';
echo '<td align="center">'.$line[7].'</td>';
echo '</tr>';
}
?>
</table>

任何帮助都感激地恢复了。提前致谢

4

3 回答 3

0

Did I misunderstand or are you looking for the Date function? If so, try this:

while ($line = mysql_fetch_row($result) )
{
echo '<tr>';
echo '<td align="center">'.date("d-m-Y", $line[2]).'</td>';
echo '<td align="center">'.$line[3].'</td>';
echo '<td align="center">'.$line[4].'</td>';
echo '<td align="center">'.date("d-m-Y", $line[5]).'</td>';
echo '<td align="center">'.$line[6].'</td>';
echo '<td align="center">'.date("d-m-Y",$line[7]).'</td>';
echo '</tr>';
}

The function is documented here: http://php.net/manual/en/function.date.php

于 2013-01-12T19:46:51.450 回答
0

您可以在 PHP 级别或 MySQL 级别上执行此操作

在 PHP 中,您可以使用从格式创建日期,PHP 中的DateTime类非常方便/灵活

// add this function to your script
function convertUnixTime($timeStamp) {
    $date = date_create_from_format('U', $timeStamp);

    // check the php docs for different ways you can format dates
    return date_format($date, 'm-d-Y');
}

// then update your echo statements 
echo '<td align="center">'.convertUnixTime($line[7]).'</td>';

有关更多信息,请参阅DateTime->format 文档

于 2013-01-12T19:50:00.060 回答
0

首先,停止使用mysql_函数。它们不再被维护并被正式弃用。看到红框了吗?了解准备好的语句,因为您的代码容易受到 SQL 注入的影响并使用PDOMySQLi -本文将帮助您确定哪个。

如果我理解正确,您将日期存储为 unix 时间戳并需要对其进行转换。它可以用 MySQL 或 PHP 来完成。

使用 MySQL,您可以使用FROM_UNIXTIME().

mysql> SELECT FROM_UNIXTIME(1196440219);
    -> '2007-11-30 10:30:19'

手动的

使用 PHP,您可以使用date.

echo date("F j", 1196440219);
   //November 30

手动的

我还建议您在查询中指定一个列列表,并使用这些列而不是索引值。

于 2013-01-12T19:42:11.370 回答