poo
Olá a todos.
Tenho uma dúvida com relação a POO. Criei uma classe para executar seleção num bd. Nessa classe tem um constrtutor que recebe uma array (tabelas para seleção) e alguns métodos que são responsáveis pelo select (escolha das condições, limit, offset, ordenação e tals).
A declaração da classe é mais ou menos assim
$select = New Select('*');
$select->condicao('array de condicaõ');
$select->offset('1');
$select->limit('0,1');
$select->orderby('DESC');
$select->execute();//executa query.
O método execute() executa query conforme o programador quer. O execute() executa a query montada dentro dele certinho. Só que eu não gostaria que esse retorno fosse feito dentro do execute porque eu queria que o programador pudesse recuperar o resultado da consulta e inserir onde ele quiser dentro da view.
Seria algo mais ou menos assim:
$select->execute()->$id;
$select->execute()->$nome;
....
ou seja, o execute() monta e executa a query que por sua vez pode ser recuperada fora da classe. O código do execute é mais ou menos assim:
while($this->_result = mysql_fetch_object($res)){
$this->_result->id;
$this->_result->$nome;
.....
}
//tentei deixar tudo em uma array para recuperar depois no foreach
while($result = mysql_fetch_object($res)){
return $this->_result->$result;
.....
}
Da forma acima roda legal. Mais como fazer isso fora desse escopo como demonstrado um pouco mais acima? Tentei armazenar tudo uma array e recuperar com o foreach dentro da minha view mais ele só retorna um item.
O código é assim
foreach($select->execute as $valor)
{
echo $valor;
}
Só me retorna uma linha alguém sabe como eu posso resolver isso? Desculpem-me não por o código completo mais é que eu não estou com ele no momento. Mais a noite eu posto.
Obrigado a quem puder me dar um help.
Discussão (2)
Carregando comentários...