自定义 MVC:select 从 db 计数并显示行数
Custom MVC: select count from db and display number of rows
我第一次使用 自定义 MVC 并希望显示从数据库中获取的行数。
我使用以下代码创建了一个模型(controles_model.php):
class Controles_Model extends Model{
public function __construct(){
parent::__construct();
}
function controle_counter(){
$query = $this->db->prepare("SELECT COUNT(*) FROM contrôle");
$query->execute();
$count = $query->rowCount();
return $count;
}
}
为了加载模型,我创建了这个 class 以动态加载模型。
class Controller{
function __construct(){
$this->view = new View();
}
public function loadModel($name){
$path = 'models/' . $name . '_model.php';
if(file_exists($path)){
require 'models/' . $name . '_model.php';
$modelName = $name . '_Model';
$this->model = new $modelName();
}
}
}
我试过这样显示结果:
<?php $this->controle_counter; ?>
但是没用。
这是它给我的错误消息:
Notice: Undefined property: View::$controle_counter in D:\xampp\htdocs\exam_planning\assets\template\controles.php on line 13
在您的控制器中,您必须像这样将模型传递给视图:
class Controller{
function __construct(){
$this->view = new View();
}
public function loadModel($name){
$path = 'models/' . $name . '_model.php';
if(file_exists($path)){
require 'models/' . $name . '_model.php';
$modelName = $name . '_Model';
$this->model = new $modelName();
$this->view->model = $this->model; // <--- add this
}
}
}
那么在你看来:
<?php echo (!empty $model) ? $model->controle_counter : ''; ?>
还会检查模型是否确实存在,以防文件不存在。
我第一次使用 自定义 MVC 并希望显示从数据库中获取的行数。 我使用以下代码创建了一个模型(controles_model.php):
class Controles_Model extends Model{
public function __construct(){
parent::__construct();
}
function controle_counter(){
$query = $this->db->prepare("SELECT COUNT(*) FROM contrôle");
$query->execute();
$count = $query->rowCount();
return $count;
}
}
为了加载模型,我创建了这个 class 以动态加载模型。
class Controller{
function __construct(){
$this->view = new View();
}
public function loadModel($name){
$path = 'models/' . $name . '_model.php';
if(file_exists($path)){
require 'models/' . $name . '_model.php';
$modelName = $name . '_Model';
$this->model = new $modelName();
}
}
}
我试过这样显示结果:
<?php $this->controle_counter; ?>
但是没用。 这是它给我的错误消息:
Notice: Undefined property: View::$controle_counter in D:\xampp\htdocs\exam_planning\assets\template\controles.php on line 13
在您的控制器中,您必须像这样将模型传递给视图:
class Controller{
function __construct(){
$this->view = new View();
}
public function loadModel($name){
$path = 'models/' . $name . '_model.php';
if(file_exists($path)){
require 'models/' . $name . '_model.php';
$modelName = $name . '_Model';
$this->model = new $modelName();
$this->view->model = $this->model; // <--- add this
}
}
}
那么在你看来:
<?php echo (!empty $model) ? $model->controle_counter : ''; ?>
还会检查模型是否确实存在,以防文件不存在。