0

我正在尝试学习代码点火器库和面向对象的 PHP,并且有一个问题。

我已经制作了一个页面,该页面从我的数据库中加载了所有行,并在其中回显了一个锚标记,该标记是指向以下结构的链接。

echo anchor("videos/video/$row->video_id", $row->video_title);

因此,我有一个名为 Videos 的类,它扩展了控制器,在该类中有索引和视频,它们被正确调用(当您单击视频标题时,它会将您发送到 videos/video/5,例如,5我正在使用的表的主键。

所以基本上我要做的就是将 5 传回控制器,然后让特定的视频页面从视频表中输出特定的行数据。我的视频控制器中的功能如下所示:

function video()
{
    $data['main_content'] = 'video';
    $data['video_title'] = 'test';
    $this->load->view('includes/template', $data);      
}

所以你,基本上应该是测试而不是测试,一个查询的返回值,它说在表“视频”中获取,带有video_idof的行"5",并$data['video_title']等于video_title数据库中的值......

现在应该已经弄清楚了,但不要,任何帮助将不胜感激!

4

3 回答 3

0

您需要了解URI 类的工作原理

基本上:

$default_url_args = array('video');
$url_args = $this->uri->uri_to_assoc(3,$default_url_args);
$video_UID = $url_args['video'];

然后像

$the_video = $this->videos_model->get_video_by_UID($video_UID);
于 2010-06-04T07:41:49.937 回答
0

您可以使用 URI 类,也可以执行以下操作:

function video($video_id)
{
  $data['main_content'] = $this->videoprovider->get_video( $video_id );
  $data['video_title'] = 'test';
  $this->load->view('includes/template', $data);
} 

换句话说,使用扩展 Controller 的类中的函数,您可以向这些函数添加参数,CI 将自动将 URI 项传递给这些参数。

function generic_function_in_controller($item1, $item2, ...)
{
  // would receive as: http://example.com/controller/generic_function_in_controller/item1/item2
}
于 2010-06-04T10:10:04.750 回答
0

我不知道我是否为时已晚,但也许这可以解决你的问题......把它放在你的 video() 函数中

data[$query] = $this->db->query("SELECT * FROM videos WHERE video_id = 5");

然后在你的 video_view 文件中......

if ($query->num_rows() > 0)
{
   $row = $query->row_array(); 

   echo $row['title'];
   echo $row['something'];
   echo $row['somethingElse'];
}

这是一个很好的资源:http ://codeigniter.com/user_guide/database/index.html

希望有帮助...

请有人编辑这个问题,因为它太难阅读了......

于 2010-06-07T23:18:34.903 回答