Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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
在Javascript函数Var中以echo格式获取数据_Javascript_Php_Database_Codeigniter - Fatal编程技术网

在Javascript函数Var中以echo格式获取数据

在Javascript函数Var中以echo格式获取数据,javascript,php,database,codeigniter,Javascript,Php,Database,Codeigniter,我正在尝试从数据库中获取格式为的数据 ['Wp-orders',11] 这将在javascript中得到响应。我的代码在下面- <?php $query = $this->db->query('SELECT *, count(DISTINCT order_id) as total FROM wp_orders WHERE order_status="processing

我正在尝试从数据库中获取格式为的数据

['Wp-orders',11]

这将在javascript中得到响应。我的代码在下面-

<?php
$query = $this->db->query('SELECT *, count(DISTINCT order_id) as total 
                           FROM wp_orders
                           WHERE order_status="processing"
                           GROUP BY webname
                           ORDER BY  webname');

foreach ($query->result_array() as $row) {
    $Cdata[] = "['".$row->webname."', ".$row->total."]";
}        
?>

您不能回显数组。也许您可以将其内爆为逗号分隔的字符串,如下所示:

<?php echo implode(',', $Cdata); ?>
或者,您可以保留查询并使用数组访问语法:

foreach ($query->result_array() as $row) {
    $Cdata[] = "['".$row['webname']."', ".$row['total']."]";
}
PHP:

$i = 0;
foreach ($query->result() as $row) 
{
   $Cdata[$i]['webname'] = $row->webname;
   $Cdata[$i]['total'] = $row->total;
   $i++;
}

JS:

var data = google.visualization.arrayToDataTable([
  ['Task', 'Hours per Day'],

  <?php
     $size = sizeof($Cdata);
     for($i = 0; $i < $Cdata; $i++)
     {
         echo "['".$Cdata[$i]['webname']."', ".$Cdata[$i]['total']."]";
         if($i != $size-1)
         {
             echo ",";
         }
     }
  ?>
]);
var data=google.visualization.arrayToDataTable([
[“任务”,“每天工作小时数”],
]);

如果使用JS,则需要JSON

$a = array('sd', 'sds', 1);

echo json_encode($a); // ["sd","sds",1]
试试这个

foreach ($query->result_array() as $row) {
    if($row->webname && $row->total){
         $Cdata[] = array($row->webname=>$row->total);
    }
}



var data = google.visualization.arrayToDataTable([
  ['Task', 'Hours per Day'],

  <?php
     echo json_encode($Cdata);
  ?>
]);
foreach($query->result\u array()作为$row){
如果($row->webname&&$row->total){
$Cdata[]=array($row->webname=>$row->total);
}
}
var data=google.visualization.arrayToDataTable([
[“任务”,“每天工作小时数”],
]);

这与cakephp有什么关系?对此表示抱歉。。FazalIts未获取数据$Cdata[]=“['”、“$row->webname.”、“$row->total.”;得到这个-[{”“:null},{”“:null}]在设置
数组之前做一个简单的条件
@user3193372用解决方案更新了我的答案我已经解决了这个问题-$Cdata[]=“['”,“$row['webname'].”,“$row['total'].”。。同时。。。真是巧合。。非常感谢。
$a = array('sd', 'sds', 1);

echo json_encode($a); // ["sd","sds",1]
foreach ($query->result_array() as $row) {
    if($row->webname && $row->total){
         $Cdata[] = array($row->webname=>$row->total);
    }
}



var data = google.visualization.arrayToDataTable([
  ['Task', 'Hours per Day'],

  <?php
     echo json_encode($Cdata);
  ?>
]);