2013-01-02 14 views
2

j'exécuter la requête suivante dans la fonction get_distribuidor() de mon modèle:CodeIgniter transmettre les données de tableau du modèle au contrôleur

public function get_distribuidor() 
{ 
    $this->load->helper('url'); 

    $query = $this->db->query("SELECT * FROM distribuidor where id_distribuidor='1';"); 

    foreach ($query->result_array() as $row) 
    { 
     echo $row['id_distribuidor']; 
     echo $row['nome_empresa']; 
     echo $row['cod_postal']; 
     echo $row['localidade']; 
     echo $row['telefone']; 
     echo $row['fax']; 
     echo $row['email']; 
    } 


    $res = array(
     'nome_empresa' => $row['nome_empresa'], 
     'morada' => $row['morada'], 
     'cod_postal' => $row['cod_postal'], 
     'localidade' => $row['localidade'], 
     'telefone' => $row['telefone'], 
     'fax' => $row['fax'], 
     'email' => $row['email'] 
    ); 

    return $res; 

} 

Maintenant, retour res $ au contrôleur, je ne sais pas très bien comment séparer les multiples champs que contient le résultat du tableau.

J'utilise ceci sur une fonction du contrôleur:

$data['nome_produto']=$this->fichas_model->set_fichas(); 

$teste=$this->fichas_model->get_distribuidor(); 

$this->load->view('produtos/ponto1',$data, $teste); 

à écrire sur la vue quelque chose comme ceci:

<input type="input" name="morada" value="<?php echo $teste['morada'];?>" /><br /> 

mais il ne fonctionne pas, quelqu'un peut me pointer ce que suis Je fais mal?

Répondre

6
$teste=$this->fichas_model->get_distribuidor(); 
$this->load->view('produtos/ponto1',$data, $teste); 

devrait être:

$data['teste'] = $this->fichas_model->get_distribuidor(); 
$this->load->view('produtos/ponto1',$data); 

Le 3rd parameter pour view() est utilisé si vous voulez saisir le contenu de view() dans une variable. Pour transmettre des données à la vue, vous devez l'ajouter en tant qu'élément de tableau $data.

Exemple:

$data = array(
    'title' => 'My Title', 
    'heading' => 'My Heading', 
    'message' => 'My Message' 
); 

$this->load->view('blogview', $data); 
// You then access $title, $heading, $message in the view file 

Ce que vous faites avec modifier ci-dessus est le suivant essentiellement:

$data = array(
    'teste' => $this->fichas_model->get_distribuidor() 
); 

$this->load->view('produtos/ponto1', $data); 
// You then access $teste in the view file, 
// which will be an array so you can access $teste['morada'] 
+1

travaillé comme un charme :) Merci beaucoup cryptique: P – user1511579

Questions connexes