gpt4 book ai didi

php - 如何使用自定义 php MVC 创建函数并将变量传递给它

转载 作者:行者123 更新时间:2023-11-28 23:54:36 25 4
gpt4 key购买 nike

我正在使用自定义 PHP MVC 应用程序

我使用此方法检索了帖子列表:

MODELs: videos_model.php

class Index_Model extends Model {
public function fetchVideos(){
$stmt = $this->db->prepare("SELECT * FROM bv_videos");
$stmt->setFetchMode(PDO::FETCH_OBJ);
return $stmt->fetchAll();

}
}

CONTROLLERs : video.php class Index extends Controller {

    public function index(){    

$this->view->render('../../public/templates/header');
$this->view->Videos = $this->model->fetchVideos();
$this->view->render('index/index');
$this->view->render('../../public/templates/footer');
}
}

Views :

<div class="entry-header video_frame_description">
<h3><?php echo $value->title; ?></h3>

<p class="pull-left post-info">
<span class="cat-links hidden-xs">
<a href="<?php echo URL; ?>?cat=<?php echo $value->cat_id; ?>">
Category:
** HERE I WANT TO ADD CATEGORY NAME UNDER EACH POST **
</a>
</p>
</div>

在 View 中,我想在每个帖子下显示视频类别的名称。

我在索引类中创建了这个函数

public function get_video_category($cat_id){        

$stmt = $this->db->prepare("SELECT * FROM bv_categories WHERE cat_id=?");
$stmt->execute(array($cat_id));
$stmt->setFetchMode(PDO::FETCH_OBJ);
$data = $stmt->fetch();
return $data->category;
}

然后在 Controller 中我添加了这一行:

$this->view->video_category = $this->model->get_video_category();       

问题来了。我应该传递什么参数给 get_video_category() 函数?

这是我使用的表结构:

bv_videos

CREATE TABLE IF NOT EXISTS bv_videos ( video_id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL, url text NOT NULL,
cat_id int(11) NOT NULL,
date_added int(11) NOT NULL, status int(11) NOT NULL,
PRIMARY KEY (video_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;

bv_categories

CREATE TABLE IF NOT EXISTS bv_categories ( cat_id int(11) NOT NULL AUTO_INCREMENT, category varchar(100) NOT NULL, order_cat int(11) NOT NULL DEFAULT '100', PRIMARY KEY (cat_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

最佳答案

我会扩展这个查询

"SELECT * FROM bv_videos"

SELECT v.*, c.category as category_name FROM bv_videos v, bv_categories c WHERE v.cat_id = b.cat_id and v.cat_id = " . $cat_id;

或者使用左连接

然后在 View 中将以与您使用类别 ID 相同的方式调用类别

 <a href="<?php echo URL; ?>?cat=<?php echo $value->cat_id; ?>">
Category name is: $value->category_name;

你的方式:

$this->view->video_category = $this->model->get_video_category();  

需要输入category id,好像是$value->cat_id;如果是从view调用的话

关于php - 如何使用自定义 php MVC 创建函数并将变量传递给它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com