我想在我的 Phalcon 项目的视图文件 ( ) 中将json 编码结果 (of ManagementController.php
, statisticAction
) 放入 Highchart 语法中。stat.phtml
最初,在stat.phtml
我使用:
...
...
series: [{
type: 'pie',
name: 'Browser share',
data: []
}]
}
$.getJSON('data/user_type.php', function(json) {
options.series[0].data = json;
chart = new Highcharts.Chart(options);
});
});
与data/user_type.php
放置在公用文件夹中。
user_type.php
:
<?php
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mockup_workspace", $con);
$result = mysql_query("SELECT name_type_user, total FROM v_ntype_user where id_admin=1");
$rows = array();
while($r = mysql_fetch_array($result)) {
$row[0] = $r[0];
$row[1] = $r[1];
array_push($rows,$row);
}
print json_encode($rows, JSON_NUMERIC_CHECK);
mysql_close($con);
?>
它在我加载时工作,尽管数据是静态的。但它仍然使用原生 PHP 语法,所以我想在 Managementcontroller 中使用该逻辑。然后我发现在使用 ManagementController (myController/actionController) 时$.getJSON
仍然需要 URL json 文件(如)的问题。data/user_type.php
那么,如果我想从 Controller 中获取它怎么办?
ManagementController.php
<?php
namespace workspace_mockup_2\Controllers;
use workspace_mockup_2\Models\VnTypeUser as nTypeUser;
use Phalcon\Mvc\Controller;
class ManagementController extends Controller {
...
public function statisticAction() {
$id_admin = $this->session->get('auth');
// User Type
$typeUser = nTypeUser::find('id_admin="' . $id_admin . '"');
$rows = array();
foreach($typeUser as $t) {
$row[0] = $t->name_type_user;
$row[1] = $t->total;
array_push($rows,$row);
}
echo json_encode($rows, JSON_NUMERIC_CHECK);
$this->view->pick("/frontend/user_management_page/stat");
}
我一直在寻找一种方法,比如把它放在那个控制器中,
...
$printjson = json_encode($rows, JSON_NUMERIC_CHECK);
$this->view->printjs = $printjson;
并将$printjs
要替换的变量$.getJSON('data/user_type.php', ...
放入stat.phtml
,但效果不佳。请帮忙 :(
谢谢..