【问题标题】:Codeigniter: Display a controller's output in a DivCodeigniter:在 Div 中显示控制器的输出
【发布时间】:2014-08-22 12:59:45
【问题描述】:

当单击按钮时,我当前打开一个弹出窗口。

传递的url是一个控制器,其结果是一个图表图像(显示图表的代码写在控制器本身;没有视图)。

我应该如何在 div 中显示控制器的输出?我不想再显示弹出窗口了。

这是我调用图表控制器的 Javascript:

var newUrl = BASEURLINDEX + "/"+controller+"/index/"+studentid+"/"+class_level+"/"+"0"+"/"+resultid;

var left = (screen.width/2)-(700/2);
var top = (screen.height/2)-(500/2);

var myWindow = window.open(newUrl, "MsgWindow", "width=700, height=350, left=250, top=200");

这是我的图表控制器,在弹出窗口中打开:

function index($studentid="",$level="",$exam_level="", $resultid="")
{           
    $combined = $this->database_connectivity($studentid, $exam_level, $resultid);

    /* Draw the line chart */
    $myPicture->drawLineChart();

    /* Write the chart legend */
    $myPicture->drawLegend(540, 20, array("Style" => LEGEND_NOBORDER, "Mode" => LEGEND_HORIZONTAL));
}

【问题讨论】:

  • 请出示您的代码

标签: php html codeigniter controller


【解决方案1】:

Euh... 在控制器中写入 div 标记或仅使用视图(这会清理您的代码...)

;-)

【讨论】:

  • 感谢您的回复。我想我没有正确地表达它。从页面 A,我调用另一个控制器,并在弹出窗口中显示它。现在摆脱弹出窗口,如何在页面 A 本身的 div 中显示控制器的输出? (我们这样做是为了避免用户点击和弹出窗口增加点击)
  • 是否有两个独立的控制器?否则,您可以只在页面方法中调用图表方法。如果您想从不同的控制器调用该方法,不确定它将如何工作。最后,您可以将图表的逻辑放在页面的方法中。正如我之前所说,将输出放在一个视图中很方便,这样您就可以加载多个视图
  • Bob,图表控制器是用 PHP 编写的,而它接受的参数是用户生成的 (Javascript)。这就是为什么我之前从页面中获取参数并在弹出窗口中调用图表控制器的原因。正如您所建议的,我将在同一页面上尝试多个视图,即在
    内我将尝试加载图表控制器......让我们看看它是如何工作的。
【解决方案2】:

最好的方法是将输出放在单独的视图中。

您可能知道,您可以在一个控制器中加载多个视图。

如果您愿意,您可以将所有内容放在一个控制器方法中,您可以从其他方法调用该方法。此方法将处理逻辑和视图加载

【讨论】:

  • 感谢您的回复。我想我没有正确地表达它。从页面 A,我调用另一个控制器,并在弹出窗口中显示它。现在摆脱弹出窗口,如何在页面 A 本身的 div 中显示控制器的输出? (我们这样做是为了避免用户点击和弹出窗口增加点击)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多