Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的日期不显示在这个图上(drupal、php、mysql)?_Php_Mysql_Sql_Drupal_Drupal Modules - Fatal编程技术网

为什么我的日期不显示在这个图上(drupal、php、mysql)?

为什么我的日期不显示在这个图上(drupal、php、mysql)?,php,mysql,sql,drupal,drupal-modules,Php,Mysql,Sql,Drupal,Drupal Modules,本周我的任务是为我的Drupal 6、Ubercart和Ubercart Marketplace安装创建一个销售图表 我选择了charts_graphs模块,并决定使用Bluff库来绘制数据。尽管受支持的模块视图\图表允许您创建范围广泛的图表,但它无法检索我绘制销售数据所需的数据集。如果有人想知道为什么不,只要问一下,我会尽我所能详细说明 所以我找到了一个生成虚张声势图所需的php示例: <?php $canvas = charts_graphs_get_graph('bluf

本周我的任务是为我的Drupal 6、Ubercart和Ubercart Marketplace安装创建一个销售图表

我选择了charts_graphs模块,并决定使用Bluff库来绘制数据。尽管受支持的模块视图\图表允许您创建范围广泛的图表,但它无法检索我绘制销售数据所需的数据集。如果有人想知道为什么不,只要问一下,我会尽我所能详细说明

所以我找到了一个生成虚张声势图所需的php示例:

     <?php 
$canvas = charts_graphs_get_graph('bluff');

      $canvas->title = "Bluff Chart";
      $canvas->type = "line"; // a chart type supported by the charting engine. See further in the doc for the list.
      $canvas->y_legend = "Y Legend";
      $canvas->colour = '#D54C78';
      $canvas->theme = 'keynote';  
      $canvas->series = array(
        'Some Value' => array(9,6,7,9,5,7,6,9,7),
        'Page Views' => array(6,7,9,5,7,6,9,7,3),
      );
      $canvas->x_labels = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine');

      $out = $canvas->get_chart();

      return $out;
    }
?>

我无法计算出我应该使用的“$orderdate[]..”的类型。我尝试过varchar、int(显示0)、date(中断它并不显示任何内容)、datetime(再次中断它)。。。或者我在SQL中检索了错误的数据作为OrderDate。任何想法都将不胜感激……

因此我最终解决了它(完全是侥幸,不理解其中的区别),但这是最终成功的代码:

<?php
    global $user;
$uname = $user->uid;
$sql = "SELECT concat(DAY(FROM_UNIXTIME(uc_orders.created)),'/',MONTH(FROM_UNIXTIME(uc_orders.created)),'/',  YEAR(FROM_UNIXTIME(uc_orders.created))) as OrderDate, round(SUM(uc_order_products.cost * uc_order_products.qty),2) AS SellerCommission,
round(SUM(uc_order_products.price * uc_order_products.qty),2) AS CustomerPrice
FROM uc_order_products
LEFT JOIN node node_uc_order_products ON uc_order_products.nid = node_uc_order_products.nid 
LEFT JOIN uc_orders uc_orders ON uc_order_products.order_id = uc_orders.order_id 
INNER JOIN users node_uc_order_products__users ON node_uc_order_products.uid = node_uc_order_products__users.uid 
WHERE (node_uc_order_products__users.uid = $uname )
AND (uc_orders.created >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(CURDATE())-1 DAY)))
AND (uc_orders.order_status in ('payment_received', 'completed'))
GROUP BY DAY(FROM_UNIXTIME(uc_orders.created))
ORDER BY MONTH(FROM_UNIXTIME(uc_orders.created)) desc, DAY(FROM_UNIXTIME(uc_orders.created)) asc
LIMIT 31";
$result = db_query($sql,$uname);


  while($row = db_fetch_array($result))
{

    $sellercommission[] = (int) $row[SellerCommission];
    $customerprice[] = (int) $row[CustomerPrice];
    $orderdate[] = (string) $row[OrderDate];

}


  $canvas = charts_graphs_get_graph('bluff');

  $canvas->title = "Volume of sales";
  $canvas->type = "line"; // a chart type supported by the charting engine. See further in the doc for the list.
  $canvas->y_legend = "Y Legend";
  $canvas->colour = '#FFFFFF';
  $canvas->width = '450';
  $canvas->height = '300';
  $canvas->theme = '';  
  $canvas->series = array(
   'Seller Commission' =>array_values($sellercommission),
   'Customer price' =>array_values($customerprice),
  );
  $canvas->x_labels = array_values($orderdate);

  $out = $canvas->get_chart();

  return $out;

?>

直接运行查询会得到什么?或者在检索时打印出值?我刚刚更新了帖子,以包含直接运行查询的输出。不确定如何更改代码以打印值。。。
09/09/2013  1328.13 1897.32
07/09/2013  455.00  650.00
<?php
    global $user;
$uname = $user->uid;
$sql = "SELECT concat(DAY(FROM_UNIXTIME(uc_orders.created)),'/',MONTH(FROM_UNIXTIME(uc_orders.created)),'/',  YEAR(FROM_UNIXTIME(uc_orders.created))) as OrderDate, round(SUM(uc_order_products.cost * uc_order_products.qty),2) AS SellerCommission,
round(SUM(uc_order_products.price * uc_order_products.qty),2) AS CustomerPrice
FROM uc_order_products
LEFT JOIN node node_uc_order_products ON uc_order_products.nid = node_uc_order_products.nid 
LEFT JOIN uc_orders uc_orders ON uc_order_products.order_id = uc_orders.order_id 
INNER JOIN users node_uc_order_products__users ON node_uc_order_products.uid = node_uc_order_products__users.uid 
WHERE (node_uc_order_products__users.uid = $uname )
AND (uc_orders.created >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(CURDATE())-1 DAY)))
AND (uc_orders.order_status in ('payment_received', 'completed'))
GROUP BY DAY(FROM_UNIXTIME(uc_orders.created))
ORDER BY MONTH(FROM_UNIXTIME(uc_orders.created)) desc, DAY(FROM_UNIXTIME(uc_orders.created)) asc
LIMIT 31";
$result = db_query($sql,$uname);


  while($row = db_fetch_array($result))
{

    $sellercommission[] = (int) $row[SellerCommission];
    $customerprice[] = (int) $row[CustomerPrice];
    $orderdate[] = (string) $row[OrderDate];

}


  $canvas = charts_graphs_get_graph('bluff');

  $canvas->title = "Volume of sales";
  $canvas->type = "line"; // a chart type supported by the charting engine. See further in the doc for the list.
  $canvas->y_legend = "Y Legend";
  $canvas->colour = '#FFFFFF';
  $canvas->width = '450';
  $canvas->height = '300';
  $canvas->theme = '';  
  $canvas->series = array(
   'Seller Commission' =>array_values($sellercommission),
   'Customer price' =>array_values($customerprice),
  );
  $canvas->x_labels = array_values($orderdate);

  $out = $canvas->get_chart();

  return $out;

?>