Php 显示多个视图的内容

Php 显示多个视图的内容,php,ajax,cakephp,jqplot,Php,Ajax,Cakephp,Jqplot,我有一个绘制图表的函数: function testSave(){ $this->_renderChart(156); } 这是我用来测试的。testSave()函数的视图显示\u renderChart(156)调用的内容。但当我这么做的时候 function testSave(){ $this->_renderChart(156); $this->_renderChart(153); } 然后它只显示$this->\u renderChart(1

我有一个绘制图表的函数:

function testSave(){
    $this->_renderChart(156);
}
这是我用来测试的。testSave()函数的视图显示
\u renderChart(156)
调用的内容。但当我这么做的时候

function testSave(){
    $this->_renderChart(156);
    $this->_renderChart(153);
}
然后它只显示
$this->\u renderChart(153)
调用的内容,但不显示
$this->\u renderChart(156)
的内容

\u renderChart($chart\u id)
函数解释如下:

function _renderChart($chart_id = null){
    if($chart_id == null)
        return false;
    //some magic...
    $this->layout = 'dummyfolder\dummy_layout_name';
}

在_renderChart函数的视图中,我有一个javascript代码,它是通过ajax将图表的图像保存为服务器上的
.png
。但是当调用两次时就会出现这种情况,
$this->renderChart()
只渲染最后一次出现的图像,并且只保存一个图像而不是两个图像。

Hmm,可能是因为您连续调用了“this”的函数。这意味着$this始终是最后一次调用。如何将调用初始化为变量,然后返回变量。大概是这样的:

$var1 = $this->_renderChart(156);
$var2 = $this->_renderChart(153);

return array($var1, $var2);
function _renderChart($chart_id = null){
    if($chart_id == null)
        return false;
     foreach($chart_id as $key => $value) {
        //some magic...
     }
     $this->layout = 'dummyfolder\dummy_layout_name';
}
编辑:

$array = array("156", "153");
$this->_renderChart($array);
然后像这样:

$var1 = $this->_renderChart(156);
$var2 = $this->_renderChart(153);

return array($var1, $var2);
function _renderChart($chart_id = null){
    if($chart_id == null)
        return false;
     foreach($chart_id as $key => $value) {
        //some magic...
     }
     $this->layout = 'dummyfolder\dummy_layout_name';
}

为什么要在另一个函数中运行renderChart函数?查看代码的“魔法”部分也很有用。“魔法”部分是设置数据,以便以后正确显示每个图表。我的目标是在一个循环中呈现和保存许多图像。您在哪里调用testSave函数?我刚刚打开了localhost,url以testSave结尾,即localhost/myapp/mycontroller/testSave。错误可能在“一些魔法…”中包含这些内容会很有帮助。当使用ajax返回响应时,为什么不将不同的图表放在不同的div中呢?