Помогите с сайтом урок 17 codeigniter?
короче по урокам делаою все как надо и все без ошибок НО
тут в уроках у автора фильмы т сериалы залиты в одной базе данных movie а я сделал таблици по отдельности теперь у меня есть отдельно фильмы,сериалы и сам добавил мультфильмы,верстка тоже имееться на мультики
так вот в чем мой вопрос: когда я создаю страницу просмотра фильма на главной странице если нажимаю на любой фильм открывает без проблем а вот если жму на сериал пишет 404 так как у автора сериалы в таблице фильмов а у меня отдельно что мне сделать и как чтобы сеиралы тоже можно было смотреть?
4 ответов
Message: Undefined property: Serials::$tvshow_mode
В ошибке написано же Нопределенное свойство. Нету в Serials переменной $tvshow_mode
не могоу понять,все повторяю как в видео только создаю отдельно все и для сериалов так как у меня сериалы в отдельной таблице serials,повторяю все также как в видео только везде прописываю serials вместо movie так вот на главной странице показывает список сериалов значит берет из базы данных serials а значит все правильно но вот создал страницу просмотра фильмов все работает жму на главной странце на любой фильм все откриваються ,делаю все тожесамое но для сериалов и все ничего не работает,нажимаю на сериал на главной странице а там ошибки
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Serials::$tvshow_mode
Filename: controllers/Serials.php
Line Number: 13
Backtrace:
File: C:\xampp\htdocs\movieworld\application\controllers\Serials.php
Line: 13
Function: _error_handler
File: C:\xampp\htdocs\movieworld\index.php
Line: 315
Function: require_once
An uncaught Exception was encountered
Type: Error
Message: Call to a member function getSerials() on null
Filename: C:\xampp\htdocs\movieworld\application\controllers\Serials.php
Line Number: 13
Backtrace:
File: C:\xampp\htdocs\movieworld\index.php
Line: 315
Function: require_once
вот код контролера для сериалов. в базе даных таблица называеться serial
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Serials extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function view($slug = NULL) {
$serial_slug = $this->serials_model->getSerials($slug, false, false);
if(empty(serial_slug)) {
show_404();
}
$this->data['title'] = $serial_slug['name'];
$this->load->view('templates/header', $this->data);
$this->load->view('serials/view', $this->data);
$this->load->view('templates/footer');
}
}
а это уже модель для сериалов
<?php
class Serials_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function getSerials($slug = FALSE, $limit, $type = 2) {
if($slug === FALSE) {
$query = $this->db
->where('category_id', $type)
->order_by('add_date', 'desc')
->limit($limit)
->get('serial');
return $query->result_array();
}
$query = $this->db->get_where('serial', array('slug'=>$slug));
return $query->row_array();
}
}
а так указал в конфиге
$route['serials/(:any)'] = 'serials/view/$1';
Если я правильно понял ваш вопрос, у вас сериалы и фильмы лежат в разных таблицах в базе данных. Чтобы вывести сериалы и переходить по ним, нужно просто поменять название таблицы, типа в контроллере $movies = ... запрос модели movies и данных фильмов из базы, тоже самое для сериалов: $serials = ... запрос модели serials и данных сериалов из базы.