База данных Codeigniter не отображается в поле зрения - PullRequest
0 голосов
/ 06 августа 2020

Я изучаю CI и пытаюсь выполнить этот учебник, в котором вы получаете данные. Мой браузер просто сбрасывает это и ничего больше

{записи} {id}

{title} {news}

{/ entries}

Не могли бы вы помочь мне разобраться? Я почти уверен, что это связано с моим парсером в файле контроллера

теперь это мое мнение:

<head>
<title>News Blog</title>
</head>
<body>
       {entries}
           <p>{id}</p>
           <h3>{title}</h3>
           <p>{news}</p>
       {/entries}
</body>

Модель

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class NewsModel extends CI_Model {

    public function __construct() {
    $this->load->database();
        
    }
    
    public function getNews($slug = FALSE){
            $query = $this->db->get('news');
            return $query->result_array();

    }
    
}


и контроллер

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class News extends CI_Controller {

    public function __construct() {
        parent::__construct();
        

        $this->load->model('newsModel');
    }

    public function index() {
   
        $news = $this->NewsModel->getNews();

// I believe the issue is in the next few lines

        $data['contactjs']=$this->parser->parse('templates/Javascript/contactjs',[],TRUE);
        $data['bootCSS']=$this->parser->parse('templates/CSS/bootCSS',[],TRUE);
        $data['CSS']=$this->parser->parse('templates/CSS/CSS',[],TRUE);
        $data['jQuery']=$this->parser->parse('templates/Javascript/jQuery',[],TRUE);
        $data['bootstrap']=$this->parser->parse('templates/Javascript/bootstrap',[],TRUE);



         $template = '{id} {title} {news}';
         $newsData = array('entries'=> $news);
         $newsData = $this->parser->parse('pages/news', [], TRUE);
         $data['news'] = $this->parser->parse('pages/news', $news, TRUE);
        
        $this->load->view('templates/header', $data);
        $this->load->view('pages/news');
        $this->load->view('templates/footer');
    }

}


1 Ответ

0 голосов
/ 06 августа 2020

Вы загружали библиотеку парсера? Попробуйте вывести переменную $ news, посмотрите, не содержит ли она каких-то данных. Также проверьте папку приложения / журнала для получения дополнительной информации. Маби, ошибка php, которую вы не видите.

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

$this->load->view('pages/news'); // This view doesn't contain any parsed data now

I думаю, вам следует создать временную переменную и поместить в нее все данные всех проанализированных представлений. Затем загрузите его в представление. Чтобы проверить, попробуйте вывести последнюю переменную и посмотреть, содержит ли она какие-либо данные, например:

echo "<pre>"; print_r($data['news']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...