Как мне отобразить данные adodb в Codeigniter на мой взгляд? - PullRequest
0 голосов
/ 17 сентября 2010

У меня есть этот код в моей модели в codeigniter:

<?php
class User_model extends Model {

    function User_model()
    {
        parent::Model();
    }
    function get_data()
    {
        $pages = false;

        // Get the pages from the database using adodb if needed
        $this->adodb->connect();

        $recordSet = $this->adodb->execute('SELECT id, genreID, artist, albumName FROM album' );
        if ( ! $recordSet )
        {
            log_message( 'error', 'Error connecting to the database' );
            log_message( 'debug', $this->adodb->getErrorMsg());
        }
        else
        {
            unset( $this->pages );
            while (!$recordSet->EOF)
            {
                $pages[] = array(
                    'id'    => $recordSet->fields[0],
                    'genreID'    => $recordSet->fields[1],
                    'artist'    => $recordSet->fields[2],
                    'albumName'    => $recordSet->fields[3]
                );

                $recordSet->MoveNext();
            }
            $this->pages = $pages;
        }

        $this->adodb->disconnect();

    } 
}
?>

У меня есть это в моем контроллере:

<?php

    class Welcome extends Controller {

        function Welcome()
        {
            parent::Controller();   
        }

        function index()
        {
            //
            $this->load->model('User_model');
            $data['query'] = $this->User_model->get_data();
            $this->load->view('welcome_message',$data);
        }
    }

То, что я не могу сделать, это получить результаты моей модели в моем представлении. Нет объекта result (), потому что я использовал adodb, так что:

<?php foreach($query->result() as $row): ?>
<p>
    <?=$row->albumName;?>
</p>
<?php endforeach; ?>

получает мне ошибку.

Что я ставлю в своем представлении, чтобы получить результаты запроса моей модели. Я знаю, что модель работает, потому что я могу повторить $ recordSet-> fields [3]; от модели и увидеть название альбома.

Спасибо за любую помощь.

edit: я не понимаю, почему мой вызов get_data () в моем представлении ничего не возвращает.

1 Ответ

0 голосов
/ 17 сентября 2010

Для одного вы ничего не возвращаете из get_data, поэтому $ query будет нулевым. Кроме того, вам не следует выполнять запрос в представлении, поскольку содержимое представления не должно обрабатывать операции уровня данных, также вы уже отключились от базы данных.

...