【发布时间】:2012-11-05 20:16:40
【问题描述】:
我有一个 PHP 页面,其中包含一个 MySQL 数据库,其中 2 个字段在 MySQL 中使用 TIME 类型。我想使用 MySQL 的 DATE_FORMAT('','') 将这两个字段从 24 小时格式 (00:00:00) 转换为 12 小时 AM/PM 格式 (00:00 AM) 但它不起作用。
到目前为止,我所做的是创建了同样使用 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。基本上,这段代码什么都不做。我在这里做错了什么?
编辑显示我的 $result
【问题讨论】:
-
格式化
TIME类型为TIME_FORMAT()。还请向我们展示重现问题的小代码 - 当前的 sn-p 不是您正在查看的($result2不是$result3不是$result...)
标签: php mysql time mysqli date-format