在Javascript函数Var中以echo格式获取数据
我正在尝试从数据库中获取格式为的数据 ['Wp-orders',11] 这将在javascript中得到响应。我的代码在下面-在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
<?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);
?>
]);