我有一个清单,从一开始就显示了已向公司下达的所有订单。 如下所示的php脚本:

<?php
    if (isset($HTTP_GET_VARS['cID'])) {
      $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);
      $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.franchise_id, o.last_modified, o.date_allocated, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00')";
    } elseif (isset($HTTP_GET_VARS['status']) && is_numeric($HTTP_GET_VARS['status']) && ($HTTP_GET_VARS['status'] > 0)) {
      $status = tep_db_prepare_input($HTTP_GET_VARS['status']);
      $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.franchise_id,o.date_purchased, o.last_modified, o.currency, o.currency_value, o.date_allocated, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00') ";
    } else {
      $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.date_purchased, o.franchise_id, o.last_modified, o.date_allocated, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00')";
    }
    $orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows);
    $orders_query = tep_db_query($orders_query_raw);
    while ($orders = tep_db_fetch_array($orders_query)) {
    if ((!isset($HTTP_GET_VARS['oID']) || (isset($HTTP_GET_VARS['oID']) && ($HTTP_GET_VARS['oID'] == $orders['orders_id']))) && !isset($oInfo)) {
        $oInfo = new objectInfo($orders);
      }

      if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) {
        echo '              <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n";
      } else {
        echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n";
      }
?>
                <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a>&nbsp;' . $orders['customers_name']; ?></td>
                <td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td>
                <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td>
                <td class="dataTableContent" align="right"><?php echo $orders['orders_status_name'].' '.'['.$orders ['franchise_id'].']'; ?></td>
                <td class="dataTableContent" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
              </tr>
<?php
    }
?>

我试过使用where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00') 17:00:00 where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00')来仅显示前一天17:00:00至17:00之后下的订单当天的:00。 上面的代码显示错误。 对修复有帮助吗?

#1楼 票数:2

检查变量TABLE_ORDERS的值,它需要为o.date_purchased

#2楼 票数:1 已采纳

这是查询的一部分:

where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC where date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00')";

订购不正确。 ORDER BY总是最后一个,此外,您不能有多个“ WHERE ”语句,在第一个语句之后,根据您的逻辑它变成AND / OR。

并排比较这两个,将WHERE更改为AND ,并在最后放置ORDER BY

where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' AND date_purchased = CONCAT(date(date_sub(now(), interval 1 day)), '17:00:00') order by o.orders_id DESC ";

干杯,

韦斯

  ask by user180857 translate from so

未解决问题?本站智能推荐:

2回复

显示过去24小时的列表

我有一个清单,从一开始就显示了已向公司下达的所有订单。 如下所示的php脚本: 这将在'<td>'标记中显示结果。 我只想显示从前一天下午5点到今天下午5点的订单。 如何使用标记为date_purchased的数据库列进行date_purchased ? 此列中的值的示例
3回复

mysql按日期和时间分别过滤

我必须在MySQL数据库上执行查询。 我有一个带有记录的表,有一列称为“日期”(日期类型),一列称为“时间”(类型。整数通过将一天中的时间乘以60来存储。例如,上午8点存储为480) 。 不幸的是,该表的格式无法修改。 我的桌子存储了待命医生的注意力。 值班医生分两班工作:从8-20和2
1回复

从SQL中的时间戳,选择今天,昨天,本周,本月和两个日期之间的记录phpmysql

希望这是一个简单的解决方案,但我正在尝试过滤以下数据: - 今天 昨天 本星期 这个月 在两个日期之间。 我从数据库中获取的日期基本上是一个时间戳。 这是我试过的: - 今天 昨天 ... 它并没有真正起作用。 任何的想法?
1回复

在C#中根据来自MySQL的日期值过滤DataGridView

来自菜鸟的问候。 我正在为我的地质工作人员编写时移日历(如下所示)。 我搜索了很多,但找不到合适的解决方案。 我想根据当前月份(不是间隔)限制 DataGridView 中显示的记录。 例如,团队成员应该能够看到属于八月的记录(如果月份是八月)。 下个月应该是新鲜的。 我有一个“检索”按钮,用于填
1回复

使用DD-MM-YYYY日期格式的MySQL过滤记录集

我对如何按日期格式过滤记录感到困惑。 我在日期表中有date(yyyy-mm-dd)数据类型的date列。 例如: 我想更改格式(dd-mm-yyyy)。 我正在使用此代码 我想用(dd-mm-yyyy)格式过滤记录。 所以我尝试了这段代码。 没有结果 但是,如果我尝
2回复

PHP根据用户输入的日期范围显示文件夹中的文件

我有一个可以在文件夹中搜索pdf文件的表格。 我想修改我的方法,其中将有用户输入日期范围从and到。 然后根据日期范围显示pdf文件(如果不存在),则仅显示“没有发现” 我不是PHP专家,我只是用google搜索出我当前的代码。 这是我的main.html中的表单代码
2回复

过滤日期。Cakephp返回的是数组而不是日期,这正常吗?

我正在为一些分页列表构建过滤器,并且我希望能够显示两个日期之间创建的元素。 但我不确定如何正确执行。 风景: 控制器: 问题是$this->data['Logs']['start']和$this->data['Logs']['end']是数组,我需要字符串: 我知道
3回复

用PHP过滤日期数组

我需要一些有关过滤日期数组的帮助。 下面的查询将打印一个包含所有条目的表。 但我不想过滤日期。 例如,如果今天是“ 30-12-2014”,那么我要显示2014年12月30日和“较新”的所有条目,而不是显示比“ 30-12-2014”旧的所有条目。 “ appointment.sta