CODEIGNITER undefined index

😀
a eu quelques problèmes ici

code d'erreur

Une Erreur PHP a été rencontrée

Gravité: Avis

Message: Undefined index: DESCRIPTION

Nom de fichier: views/dashboard_view.php

Numéro De Ligne: 13

le contrôleur:

 function index()
 {
   if($this->session->userdata('logged_in'))
   {
     $session_data = $this->session->userdata('logged_in');
     $data['username'] = $session_data['USERNAME'];
     $data['companyid'] = $session_data['COMPANYID'];
     $data['category']=$this->main_model->get_category();
     $this->load->view('dashboard_view', $data);


   }
   else
   {
     //If no session, redirect to login page
     redirect('main', 'refresh');
   }
 }

modèle

 function get_category(){
$this->db->select('*');
$this->db->from('view_category');
$category=$this->db->get();
return $category->result();
}

vue

<h2>Welcome <?php echo $username; ?>!</h2>
<?= form_hidden ($companyid); ?>
<br>
<a href="login/logout">Logout</a>
<? foreach($category ):?>
<tr>

    <td><?= $category['DESCRIPTION']; ?></td><-- this is line 13
</tr>

<? endforeach;?>
  • veuillez var_dump() $categorie->result();
  • eu cette erreur Fatal error: Appel à un membre de résultat de la fonction() sur un non-objet
  • Alors quelque chose va mal dans votre $this->db->get() (var_dump() que l'on). Aussi, var_dump de $this->db->last_query() à la fin de la méthode (avant le retour)
  • Êtes-vous sûr que $category est un tableau et non pas un objet? Normalement (mes) des modèles de retour des objets, ou un tableau d'objets. Dans ce cas, vous pouvez obtenir $category->DESCRIPTION.
  • êtes-vous sûr que l'indice est DESCRIPTION et pas description bcoz son nom de la colonne que l'extraction à partir de la base de données
  • bon point! je pense que, get() retourne un tableau par défaut.
  • C'est vrai, mais autant que je sache (et la page de documentation semble suggérer la même chose, ne peut pas tester moi-même maintenant, malheureusement), vous obtiendrez un tableau contenant un objet pour chaque enregistrement. Donc dans ce cas je pense que le problème est que $category est un objet, mais l'OP est de le traiter comme un tableau. (Voir aussi: ellislab.com/codeigniter/user-guide/database/active_record.html)

InformationsquelleAutor mabbs | 2013-10-18