0

我在 codeigniter pages.php 中有一个控制器

class Pages extends CI_Controller {

    public function view($page = 'home')
    {
        $this->load->view('header');
        echo("<br>");
        $this->load->model("math");
        echo $this->math->add(1,2);
    }
}

模型:math.php

class math extends CI_Controller
{
    public function add($val1,$val2){
        return $val1+$val2;
    }
}

视图:header.php

<html>
<head>
    <title>fashion and style</title>
</head>
<body>
<?php
    echo("this is the header");
?>

根据控制器,代码应输出:

this is the header

number

但我得到的输出如下:

number this is the header

为什么?

4

2 回答 2

2

如果您直接从 codeignitor 控制器回显字符串,它将在渲染加载的视图之前渲染字符串。如果你想这样做,你可以尝试像 -

$str = $this->math->add(1,2);
$this->output->append_output($str);

然后你的控制器看起来像 -

class Pages extends CI_Controller {

    public function view($page = 'home')
    {
        $this->load->view('header');
        $this->load->model("math");
        $str = "<br>".$this->math->add(1,2);
        $this->output->append_output($str);
    }
}

希望这会有所帮助。

于 2013-10-06T06:50:40.160 回答
0

尝试这个:

控制器:

class Pages extends CI_Controller {

    public function view($page = 'home')
    {
        $this->load->model("math_model");
        $data['number'] = $this->math_model->add(1,2);

        $this->load->view('header',$data);

    }
}

模型 math_model.php

模型:

class Math_model extends CI_Model
{
    public function add($val1,$val2){
        return $val1+$val2;
    }
}

视图 header.php

<html>
<head>
    <title>fashion and style</title>
</head>
<body>
<?php
    echo("this is the header");
?>
echo("<br>");
<?php 
        echo $number;
?>
</body>
</html>

有关模型详细信息,请查看此处https://www.codeigniter.com/user_guide/general/models.html

有关视图,请查看此处https://www.codeigniter.com/user_guide/general/views.html

于 2013-10-06T05:25:16.533 回答