嗨,我最近开始了另一个项目,我的老板坚持我们使用 MVC 模型,问题是由于许多文章显示了不同的方法来做到这一点,我们还没有就正确的 MVC 模型应该是什么样子达成一致。
所以这是我对这个项目的问题(无论这是否是正确的方法)我正在使用以下基线规则
控制器类管理从模型类获取数据并将数据传递给视图类并检索视图并显示它
模型类管理所有数据库操作并使用返回数据mysql_fetch_assoc
视图类使用数据等创建视图。
所以我的问题是处理信息,mysql_fetch_assoc
通常你会做这样的事情(假设我们已经运行了一个查询)
while ($row = mysql_fetch_assoc($result)) {
echo $row["username"];
}
但是当我在视图类而不是模型中处理结果时,当我已经将 assoc 数组传递给视图时,如何循环遍历所有结果,目前我遇到了一个问题,它一直在循环结果直到它遇到内存大小错误,因此由于某种原因它无法弄清楚它需要循环多少个结果
对于不好的解释,我目前的代码片段如下。
控制器 require_once 'admin_model.php'; 需要一次'admin_view.php';
class admin_controller {
public $model;
public $view;
public function __construct() {
$this->model = new admin_model;
$this->view = new admin_view;
}
public function get_group_view() {
$in_model = $this->model->get_group_view();
$in_view = $this->view->get_group_view ($in_model);
echo $in_view;
}
模型类 admin_model {
public function get_group_view() {
$query = mysql_query("
SELECT
group_id,
group_name
FROM
user_groups
");
return mysql_fetch_assoc($query);
}
}
看法
class admin_view {
public function get_group_view($group_data) {
while($group_data) {
$output .= $group_data['group_id'] . '###' . $group_data['group_name'] . '<hr />';
}
return $output;
}
}
当前返回错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 133693393 bytes)
那么有人可以建议我在不从模型类中移动“mysql_fetch_assoc”函数的情况下查看结果的最佳方法吗?
PS 我知道我可能在做 MVC 完全错误,但它对我们有用,我们不想再次研究和更改我们的代码,谢谢。