Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Willian Vieira

[Resolvido] Dificuldade na VIEW

Recommended Posts

Srs,

 

Estou com certa dificuldade na camada VIEW.

Segue:

 

Ao acessar uma página frmconsulta.phtml, chamo uma função em javascript que com Ajax chama o método loadAll() carregando assim o conteúdo na div.

 

frmconsulta.phtml

<?php include_once 'view/header.phtml';?>
<script type="text/javascript"> window.onload = frmconsulta();</script> // Chama função JavaScript
<div id="central"> 
 <div id="content">
 //CONTEÚDO DIVERSO....
 <div id="consulta">
 </div>
</div>
<?php include_once 'view/footer.phtml';?>

JavaScript

// Chama função loadAll()
var url="?controller=ItemConfiguracao&action=loadAll&pagina=1&" + Math.ceil(Math.random() * 100000 );

loadAll() - exemplo hipotético, meu loadAll() não é esse

... Código diverso....
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
 {
 echo "<tr>";
 echo "<td>" . $row['FirstName'] . "</td>";
 echo "<td>" . $row['LastName'] . "</td>";
 echo "<td>" . $row['Age'] . "</td>";
 echo "<td>" . $row['Hometown'] . "</td>";
 echo "<td>" . $row['Job'] . "</td>";
 echo "</tr>";
 }
echo "</table>";

Me corrigam se estiver errado. Mas acho que método loadAll() dessa forma foge do padrão MVC, pois a formatação da tabela está dentro da camada Model.

Gostaria que essa formatação de tabela estivesse na view, ou seja na frmconsulta.phtml, mas quero carregar o loadAll usando Ajax.

 

Como posso resolver isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, a formatacao da tabela teria de estar mesmo na view, e nao no model, mas ao contrario do q você imagina, você pode criar um metodo no controller para mostrar a tabela, jq o moel apenas puxa os dados do banco, e o controller os processa, agora integrando ao ajax, eu nunca fiz assim, pode ser q de certo ou nao, apenas fiz mvc sem essas coisinhas, mas você pode criar um metodo no controoler par criar e formatar esta tabela, retornando como string, e o ajax apenas carregar este metodo na view....eu ja fiz parecido, mas sem ajax....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi assim:

 

loadAll()

// Captura os resultados do BD
while($row = mysql_fetch_array($result)){

$newItem = new ItemConfiguracaoDAO();

 $newItem->setId($array['Id_ic']);
 $newItem->setPatrimonio($array['Patrimonio']);
 $ArrayItem[] = $newItem;
 }

$this->aux = $ArrayItem;
 
 include 'ItemConfiguracao/load.phtml'; // Aqui faço a chamada da minha tabela formatada, bonitinha e "cheio de 9 horas" [b]*[/b]

}

Criei mais um arquivo load.phtml onde está minha tabela customizada e pronto.

 

Agora funciona perfeitamente!

 

* Link - Quem quiser saber a origem da expressão "Cheio de Nove-horas".

 

Até +

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.