0

ドロップダウンリストからphpを検索します。これにより、特定のスタッフのタイムカードへの変更が検索され、テーブルに戻ります。非常にうまく機能しますが、UNIX時間ではなくリアルタイムを表示するために2行目と5行目と7行目の結果を返すのに問題があります。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

PHPレベルまたはMySQLレベルでそれを行うことができます

PHPでは、date create from formatを使用できます。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インジェクションに対して脆弱であり、PDOまたはMySQLiを使用するため、プリペアドステートメントについて学習します。この記事どちら決定するのに役立ちます。

私が正しく理解していれば、日付を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 に答える
0

私は誤解しましたか、それとも日付関数を探していますか?もしそうなら、これを試してみてください:

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>';
}

関数はここに文書化されています:http://php.net/manual/en/function.date.php

于 2013-01-12T19:46:51.450 に答える