在php中显示数据的正确格式

时间:2019-05-22 06:52:16

标签: sql database date format

下面是我在数据库中显示值的代码。我希望输出如下所示:       2019年7月21日,而不是2019-07-21。有任何想法和帮助吗?

 <?php $servername = "localhost";
 $username = "root";
 $password = "";
  $dbname = "software";


  $conn = new mysqli($servername, $username, $password, $dbname);
 // Check connection
  if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
  }



   SELECT * From (select * from training_calendar ORDER BY        training_calendar_id DESC LIMIT 2) AS name ORDER BY training_calendar_id   LIMIT 1
 $sql = "SELECT * From (select * from training_calendar ORDER BY   training_calendar_id DESC LIMIT 2) AS name ORDER BY training_calendar_id  LIMIT 1";
 $result = $conn->query($sql);

 //if ($result->num_rows > 0) {



    while($row = $result->fetch_assoc()) {
      echo " ". $row["date_of_training"]. "<br> ";


  }

  //} else {
     //  echo "0 results";
  //} ?>

2 个答案:

答案 0 :(得分:0)

要么在检索数据时使用Mysql的DATE_FORMAT函数,要么使用PHP的date函数格式化日期。

  

回显日期(“ j F Y”,strtotime(“ 2019-07-21”));

答案 1 :(得分:0)

您需要格式化日期,下面的代码将完成您的工作-

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "software";

$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * From (select * from training_calendar ORDER BY   training_calendar_id DESC LIMIT 2) AS name ORDER BY training_calendar_id  LIMIT 1";
$result = $conn->query($sql);

while ($row = $result->fetch_assoc()) {
    echo " " . date("j F Y", strtotime($row["date_of_training"])) . "<br> ";
}
?>