我有一个带有字符串'noticeDate'的查询,并将其转换为按日期排序的日期。当我在phpmyadmin中运行它而不是在drupal
中运行时,查询工作正常这是我的查询
<h3 style="text-align: center;">Public Notices</h3>
<?php
$query="SELECT `noticeTitle`, `noticeDate`, `filename`, STR_TO_DATE(`noticeDate`, '%m/%d/%Y') as filedate, `filepath`
FROM `public_notice`
ORDER BY filedate DESC
LIMIT 5";
$results = db_query($query);
while ($row = db_fetch_array($results)) {
echo '<tr>';
echo '<td><u><a href=http://website.com/'. $row["filepath"] . '>' .$row["noticeDate"].'</u>- '.$row["noticeTitle"]. '</a></td><br />';
echo '</tr>';
}
?>
在phpmyadmin中,它完美地命令5个日期 - 但是在drupal中它看起来像这样。
08/04/2009- sometext
09/14/2009- sometext
01/28/2009- sometext
01/23/2009- sometext
02/25/2009- sometext
答案 0 :(得分:1)
我认为问题在于Drupal替换参数/命名参数的方式。请参阅db_query的第二个参数。
您应该重构代码以使用db_select。 https://api.drupal.org/api/drupal/includes!database!database.inc/function/db_query/7
https://api.drupal.org/api/drupal/includes!database!database.inc/function/db_select/7
要添加STR_TO_DATE功能,请使用AddExpression功能。 https://api.drupal.org/api/drupal/includes!database!select.inc/function/SelectQuery%3A%3AaddExpression/7
使用这两个肯定会解决您的问题。祝你好运。