Php - passing a variable from controller to view

2019-07-22 20:34发布

问题:

whenever I run this code i get the error of undefined variable $d, so i noticed i have to pass the variable from the controller to the view. I am new to MVC, hence why i would be grateful if someone helps me with this issue.

This is my implementation so far: **

Controller

**

class ControllerModuleGetstoreproducts extends Controller{
    public function index() {
        $object = new ModelGetstoreproducts();
        $d = $object->fetch();
        require_once "getstoreproducts.php";
    }
    function returndata(){
        $this->db->select("count(*)");
        $this->db->from("oc_product");
        $query = $this->db->get();
        return $query->result();
    }
}

Model

<?php
class ModelGetstoreproducts{
    function fetch(){
        $sql = 'SELECT count(*) FROM oc_product';
        $req = @mysql_query($sql);
        return @mysql_fetch_object($req);
        //return $req;

    }
}
?>

View

<p>The total is <?php var_dump($d) ?></p>

回答1:

Try this update to your files:

Controller:

    class ControllerModuleGetstoreproducts extends Controller{

    public $data;

    public function index() {
        $object = new ModelGetstoreproducts();
        $this->data['products'] = $object->fetch();
        require_once "getstoreproducts.php";
    }
    function returndata(){
        $this->db->select("count(*)");
        $this->db->from("oc_product");
        $query = $this->db->get();
        return $query->result();
    }
}

View:

<p>The total is <?php var_dump($this->data['products']) ?></p>


回答2:

Pass your id from View to Controller and get it into Model.Apply this rule You will not get any kind of error.