2017-01-19 2 views
1

Je suis nouveau dans Codeigniter et j'ai un problème en essayant d'afficher des données dans la page de vue. J'ai suivi la documentation de Codeigniter, des tutoriels et des questions dans stackoverflow mais toujours aucune réponse ne peut m'aider bien que je cours le tutoriel et cela fonctionne parfaitement. mais quand je l'implémente dans mon code, ça me donne une erreur. J'espère que vous pouvez m'aider. Je ne suis pas sûr de ce que le problème. Merci d'avance.Données non montrées dans la vue Codeigniter

Une erreur PHP a été rencontré Gravité: Avis Message: Undefined variable: b Nom du fichier: Accueil/adminviewbranch.php Numéro de ligne: 81

form.php (contrôleur)

public function view_branch(){ 
    $this->load->model('branch_model'); 
    $data = array(); 
    $data['b'] = $this->branch_model->branch_view(); 
    $this->load->view('home/adminviewbranch', $data); 
} 

branch_model.php (modèle)

public function branch_view(){ 
    //data is retrive from this query 
    $query = $this->db->get('branch'); 
    return $query; 
} 

adminviewbranch.php (vue)

<div id="page" class="container"> 
    <table id="table_id" class="display"> 
     <thead> 
      <tr> 
       <th>Branch Name</th> 
       <th>Branch Address</th> 
       <th>Branch Contact</th> 
       <th>Action</th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php 
      if(count($b)>0) { 
       foreach ($b as $row) { 
        ?> 
        <tr> 
         <td><?=$row->branch_name;?></td> 
         <td><?=$row->branch_add;?></td> 
         <td><?=$row->branch_Hp;?></td> 
         <td><?=$row->branch_Hp;?></td> 
        <?php 
       } 
      } 
      else { 
       echo "No Record found!"; 
      } 
      ?> 
      </tr> 
     </tbody> 
    </table> 
</div> 
+0

version CodeIgniter utilisez-vous? – denny

+1

les noms des fichiers du contrôleur et du modèle doivent avoir la première lettre en majuscule selon la dernière version si votre modèle doit être Branch_model.php pas branch_php par la dernière version – denny

+0

hi. désolée je suis en retard. J'utilise codeigniter 3.1.3. J'ai changé le modèle et le nom de contrôleur comme vous l'avez dit. Merci .. – Luqman305

Répondre

0

à foreach faire foreach ($b->result() as $row)

+0

Cela pourrait utiliser [plus d'explications pour éviter la suppression] (http://meta.stackexchange.com/a/148274/175564). –

0

Je pense qu'il est fonction manquante dans votre foreach.

Essayez ceci:

<?php 
    if(count($b)>0) 
     { 
     foreach ($b->result() as $row){ 
?> 
0

Changer votre code de modèle à suivre

public function branch_view(){ 

//data is retrive from this query 
$query = $this->db->get('branch'); 

return $query->result_array(); // this allows you to fetch results in the form of multidimentional array 
} 

Ensuite, vous pouvez y accéder en vue comme

<?php 
    if(count($b)>0) 
    { 
     foreach ($b as $row) 
     { 
      ?> 
      <tr> 
       <td><?=$row['branch_name'];?></td> 
       <td><?=$row['branch_add'];?></td> 
       <td><?=$row['branch_Hp'];?></td> 
       <td>Action</td> 
      </tr> 
      <?php 
     } 
    } 
    else 
    { 
     echo "<tr colspan='3'><td>No Record found!</td></tr>"; 
    } 
?> 
+0

Salut.thank vous pour votre réponse. Mais j'ai déjà essayé ça mais ça dit encore une variable non définie pour $ b en vue. – Luqman305

0

Modifier votre code modèle comme ci-dessous

public function branch_view(){ 

//data is retrive from this query 
$query = $this->db->get('branch')->result_array(); 
return $query; 
} 
0

Votre modèle n'est pas résultat.vous pouvez vérifier avec la fonction print_r().vous devez retourner avec un objet ou un tableau. return $query->result();
et votre point de vue doit être foreach($tes as $t){$t->your_view}
ou return $query->row();
avec des données simples $row->your_view

0

dans le changement de modèle de cette ligne

$query = $this->db->get('branch'); 

à

$query = $this->db->get('branch')->result(); 

(OR) en vue changement ces lignes

<?php 
if(count($b)>0) { 
    foreach ($b as $row) { 

?> à

<?php 
if($b->num_rows()>0) { 
foreach ($b->result() as $row) { 

?>