Olá pessoal,
Estou chegando agora na lista, estou começando a experimentar o
CodeIgniter, indicação de um colega que assina a lista php-sp.
Não tenho experiencia com FrameWorks, mas estou gostando do CI 2.0.

A dúvida é sobre como vcs. exibem uma listagem numa view, se através de
objects ou arrays mesmo.

Minha model :

<?php
class Cargo extends CI_Model {
    var $id_cargo   = '';
    var $nome_cargo = '';
    
    function __construct()
    {
        parent::__construct();
    }

    function obter_todos()
    {
        return $this->db->query('select * from cargo');

//   reparem que o jeito de retornar os dados abaixo( que copiei do
exemplo do user_guide ), muda . Preferi o acima.
        //$query = $this->db->query('select * from cargo');
        //return $query->result();
    }
    function buscar($id)
    {
        return $this->db->query("select * from cargo where id_cargo =
'$id'");
    }
} // fim do model
?>

No meu Controller, dei alguns 'echo' para testar, e depois chamar a
view :

$this->load->database();
$this->load->model('Cargo');
//testando buscar um registro pelo id
$registro = $this->Cargo->buscar('3'); 
echo $this->db->last_query();
if ($registro->num_rows() > 0)
{
   $row = $registro->row();
   echo '<BR><BR>Usando o OBJETO row : ' . $row->id_cargo . ' - ' .
$row->nome_cargo . '<BR>';  // funcionou legal
}
$data['listagem'] = $this->Cargo->obter_todos();
$data['total'] = $query->num_rows();
$this->load->view('main', $data);
// --- fim do controller ------------

E finalmente, na view ...
<html> blá, blá, bla ...

<?php foreach ($listagem->result() as $linha):?>
        <tr>
            <td><?php echo $linha->id_cargo  ;?></td>
            <td><?php echo $linha->nome_cargo  ;?></td>
        </tr>
<?php endforeach;?>        
<p>Total =  <?php echo $total;?> </p>
</html>

Então, a dúvida seria em utilizar a combinação :

- do jeito do result na function do model;
- no foreach, o uso de $listagem->result() OU $listagem->result_array()
- na view ficaria como mostrado acima OU, se array, ficaria assim :

<td><?php echo $linha['id_cargo']  ;?></td>
<td><?php echo $linha['nome_cargo']  ;?></td>

O que vcs. usam ? Alguém poderia comentar algo ? Performance, memória,
facilidades, problemas, etc ???

Muto obrigado,

-- 
Abs,

Jairo de Carvalho
Sao Paulo / SP - Brasil




_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a