Помогите с сайтом урок 17 codeigniter?

0

короче по урокам делаою все как надо и все без ошибок НО

тут в уроках у автора фильмы т сериалы залиты в одной базе данных movie а я сделал таблици по отдельности теперь у меня есть отдельно фильмы,сериалы и сам добавил мультфильмы,верстка тоже имееться на мультики

так вот в чем мой вопрос: когда я создаю страницу просмотра фильма на главной странице если нажимаю на любой фильм открывает без проблем а вот если жму на сериал пишет 404 так как у автора сериалы в таблице фильмов а у меня отдельно что мне сделать и как чтобы сеиралы тоже можно было смотреть?

codeigniter

4 ответов

0

Message: Undefined property: Serials::$tvshow_mode

В ошибке написано же Нопределенное свойство. Нету в Serials переменной $tvshow_mode

0

не могоу понять,все повторяю как в видео только создаю отдельно все и для сериалов так как у меня сериалы в отдельной таблице 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
0
вот код контролера для сериалов. в базе даных таблица называеться 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';
0

Если я правильно понял ваш вопрос, у вас сериалы и фильмы лежат в разных таблицах в базе данных. Чтобы вывести сериалы и переходить по ним, нужно просто поменять название таблицы, типа в контроллере $movies = ... запрос модели movies и данных фильмов из базы, тоже самое для сериалов: $serials = ... запрос модели serials и данных сериалов из базы.  

Sign up or Log in to write an answer