je ce code dans mon modèle CodeIgniter:Comment afficher les données adodb dans Codeigniter à mon avis?
<?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();
}
}
?>
J'ai dans mon contrôleur:
<?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);
}
}
Ce que je ne peux pas faire est d'obtenir mes résultats du modèle dans mon avis. Il n'y a pas d'objet résultat() parce que je adodb donc ceci:
<?php foreach($query->result() as $row): ?>
<p>
<?=$row->albumName;?>
</p>
<?php endforeach; ?>
moi obtient une erreur.
Qu'est-ce que je mets dans ma vue pour obtenir les résultats de la requête de mon modèle. Je sais que le modèle fonctionne parce que je peux echo $ recordSet-> fields [3]; du modèle et voir le nom de l'album.
Nous vous remercions de votre aide.
edit: Je ne comprends pas pourquoi mon appel get_data() dans ma vue ne renvoie rien.
Je copiais le gars en bas d'ici http://codeigniter.com/forums/viewthread/65672/ Je pensais que je suivais le modèle d'enregistrement actif appelant la requête du contrôleur, mais je ne sais pas pourquoi get_data ne retourne rien. – johnny
Je mets dans un retour $ recordSet mais get_data ne retourne rien à la vue. Les données sont uniquement présentes dans le modèle. – johnny
Vous n'avez pas besoin d'utiliser $ query-> results(), avez-vous essayé quelque chose de similaire à l'itération faite dans le modèle sur recordSet? notez que la raison pour laquelle le modèle ne renvoie pas de valeur est que l'implémenteur définit la valeur sur une propriété du modèle ($ this-> pages), vous pourrez peut-être y accéder $ this-> User_model-> pages mais généralement Je n'ajoute pas de propriétés au modèle. –