【发布时间】:2014-08-03 20:43:21
【问题描述】:
我正在尝试使用 PHP 和 MySql 运行 PDO 查询,然后按日期对其进行排序。
我的查询如下:
$query_params = array(
':website' => $site
);
$query = "
SELECT
DATE_FORMAT(date, '%d/%m/%Y') AS date,
id
FROM
items as bi
INNER JOIN
basket as bb ON bi.item_number=bb.basket_item
INNER JOIN
orders as bo ON bb.basket_order=bo.order_number
WHERE
bi.website = :website
ORDER BY
STR_TO_DATE(date,'%d/%m/%Y') DESC
";
try {
$stmt = DB::get()->prepare($query);
$stmt->execute($query_params);
$rows = $stmt->fetchAll();
}
catch(PDOException $ex) {}
foreach($rows as $row):
$output .= "".$row["date"].",";
$output .= "".$row["id"].",";
$output .= "\r\n <br />";
endforeach;
我的输出应该在哪里:
13/06/2014, 8676,
12/06/2014, 5765,
12/04/2014, 7683,
08/12/2013, 1098,
06/12/2013, 2003,
06/12/2013, 6755,
它似乎没有按任何排序:
12/06/2014, 5765,
12/04/2014, 7683,
13/06/2014, 8676,
06/12/2013, 2003,
06/12/2013, 6755,
08/12/2013, 1098,
STR_TO_DATE(date,'%d/%m/%Y') DESC不应该按预期排序吗?
【问题讨论】:
标签: php mysql sql-order-by str-to-date