问题描述
我认为这很简单。我要获取PHP的MySQL数据库中有一个带有日期列(due_date)的表。我只需要以某种方式返回“月/日/年”,但这和其他变体对该列均不返回任何值。我想念什么?
function get_tasks(){
$con = get_connection();
$result = mysqli_query($con,"SELECT task_id,task_name,description,DATE_FORMAT(due_date,\"%M %d %Y\") AS task_date,priority,cat_name,status_desc FROM task LEFT JOIN category ON task.category_id = category.category_id INNER JOIN status ON task.status_id = status.status_id ORDER BY priority,due_date; ");
$data = array();
while($row = mysqli_fetch_array($result)) {
$temp = array();
array_push($temp,$row['task_id']);
array_push($temp,$row['task_name']);
array_push($temp,$row['description']);
array_push($temp,$row['task_date']);
array_push($temp,$row['priority']);
array_push($temp,$row['cat_name']);
array_push($temp,$row['status_desc']);
array_push($data,$temp);
}
mysqli_close($con);
return $data;
}
这是我正在启动的页面的屏幕截图(请原谅不及星空的视觉效果)以及执行查询时从数据库返回的内容。
Image of the webpage Image of the db return
解决方法
尝试如下修改date_format:
DATE_FORMAT(created_at,"%M %d %Y")
阅读DATE_FORMAT的详细文档,以了解如何显示不同的日期格式
因此您的最终查询如下:
SELECT task_id,task_name,description,DATE_FORMAT(due_date,"%M %d %Y") AS task_date,priority,cat_name,status_desc
FROM task
LEFT JOIN category ON task.category_id = category.category_id
INNER JOIN status ON task.status_id = status.status_id
ORDER BY priority,due_date;
,
天哪。我说这很简单。这确实令人尴尬,但问题是前端只有1行代码。这部分可能一直在工作。立即修复。谢谢您的时间。