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 pasdescription
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)
Vous devez vous connecter pour publier un commentaire.
Suivez ces étapes :-
Vérifier si votre modèle est correctement chargé ou pas . Soit le charger manuellement avant de l'appeler ou vous pouvez charger automatiquement votre modèle dans config/autoload fichier.
Avant de faire la boucle par le biais de votre catogory dans le fichier de vue , essayez d'imprimer le tableau . Je pense qu'il n'est pas un indice appelé description dans votre catégorie de tableau .
Changement :-
À :-
Aussi :-
À :-
Espère que cela vous aide 🙂
Vous foreach doit être ceci:
Et puis obtenir les données par ceci:
Vous pouvez également vérifier que ce qu'il est de retour pour obtenir que tout ne
print_r($rows);
dans la boucle foreach.Avez-vous essayé de charger le modèle avant de l'utiliser?
Exemple:
$this->load->model('main_model');