0

TIMEMySQL のタイプを使用する 2 つのフィールドを持つ MySQL データベースを含む PHP ページがあります。MySQL を使用して、これら 2 つのフィールドを 24 時間形式(00:00:00)から 12 時間 AM/PM 形式に変換したいのですが、うまくいきません。(00:00 AM)DATE_FORMAT('','')

これまでのところ、TIME タイプを使用する 3 番目と 4 番目のフィールドを作成しました。1 番目と 2 番目のフィールドを 3 番目と 4 番目に送信し、3 番目と 4 番目を変換して元のフィールドを保持します。

<?php
//connection statements omitted

$sql="SELECT * FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);

//Sends the original time_in data to the new format_in column. 
$sql2="UPDATE $table SET format_in = time_in";
$result2=$mysqli->query($sql2);

$sql3="SELECT DATE_FORMAT(format_in,'%l:%i %p') FROM $table";
$result3=$mysqli->query($sql3);

while($row = $result->fetch_array()){

?>
//other fields omitted
<td><?php echo $row['format_in'];?></td>

//end while loop
<?php } ?>

このコードが行う唯一のことは、time_in 列にあったものを複製することです。標準の 24 時間形式です00:00:00。基本的に、このコードは何もしません。ここで何が間違っていますか?

私の$結果を表示するために編集

4

1 に答える 1

1
while($row = $result3->fetch_array()){

それ以外の

while($row = $result->fetch_array()){

コメント セクションでの会話に基づいて:

変化する

$sql="SELECT * FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);

$sql="SELECT field_1,field_2,field_n,DATE_FORMAT(format_in,'%l:%i %p') format_in FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);
于 2012-11-05T20:20:41.190 に答える