Ir para conteúdo

POWERED BY:

Arquivado

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

Julio Andolfo

Consulta Zend Framework

Recommended Posts

Boa tarde, sou novo no Zend Framewok estou aprendendo na raça ^^

 

Estou com uma dúvida, estou com um sistema no qual ele faz uma pesquisa de condominios e moradores.

 

Isso funciona perfeitamente :

 

CONTROLLER

 

<?php

class Default_ConsultaController extends Zend_Controller_Action
{
   private $morador;
   private $condominio;
   private $sessionAcl;

   public function init()
   {
       $this->morador = new Morador();
       $this->condominio = new Condominio();
       $this->sessionAcl = new Zend_Session_Namespace('Zend_Acl');
   }

   public function indexAction()
   {
       $form = new App_Forms_Default_Consulta_Form();
       $this->view->assign('atributos',$form->getAttribs());
       $this->view->assign('formConsulta',$form);

       if ($this->_request->isPost()) {
           if ($form->isValid($_POST)) {
               switch ($form->getValue('campoFiltro')) {
                   case 'condominio':
                       $this->condominio->setFiltro($form->getValue('campoBusca'));
                       $this->view->assign('condominio',$this->condominio->consultaCondominio($this->sessionAcl->__get('grupo')));
                       break;
                   case 'morador':
                       $this->morador->setFiltro($form->getValue('campoBusca'));
                       $this->view->assign('morador',$this->morador->consultaMoradores($this->sessionAcl->__get('grupo')));
                       break;
               }
           }
       }
   }

   public function viewmoradorAction()
   {
       $this->_helper->layout->disableLayout();
       if ($this->_hasParam('id')&&is_numeric($this->_getParam('id'))) {
           $this->morador->buscaMorador($this->_getParam('id'));
           $this->view->assign('morador',$this->morador->getMorador());
       }
   }

   public function viewcondominioAction()
   {
       $this->_helper->layout->disableLayout();
       if ($this->_hasParam('id')&&is_numeric($this->_getParam('id'))) {
           $this->condominio->buscaCondominio($this->_getParam('id'));
           $this->view->assign('condominio',$this->condominio->getCondominio());
       }
   }
}

 

E a visualização está perfeita, mas o seguinte, gostaria de procurar MORADOR por CONDOMINIO, ou seja, eu coloco para filtrar morador, mas escolho em qual condominio procurar, alguém pode me ajudar nessa solução ? obrigado !

 

Essa aqui é a página de pesquisa com o FORM :

 

<script type="text/javascript">
   $().ready(function() {
       $('#btnSubmeter').mouseover(function(){
           $('#btnSubmeter').addClass('ui-state-hover');
       });
       $('#btnSubmeter').mouseout(function(){
           $('#btnSubmeter').removeClass('ui-state-hover');
       });
       $('#btnSubmeter').click(function(){
           $('#btnSubmeter').addClass('ui-state-active');
       });
       $('#dialog').dialog({
           modal: true,
           autoOpen: false,
           resizable: false,
           position: 'top',
           width: '95%'
       });
       //Heck IE - Alberane - Só coloca a altura do dialog no IE
       if (jQuery.browser.msie) {
           $('#dialog').dialog({
               height: '350px'
           });
       }
   });

   function visualizaMorador(id) {
       $('#dialog').html('');
       $('#dialog').dialog('open');
       $('#dialog').load('/consulta/viewmorador/id/'+id);
   }

   function visualizaCondominio(id) {
       $('#dialog').html('');
       $('#dialog').dialog('open');
       $('#dialog').load('/consulta/viewcondominio/id/'+id);
   }
</script>
<div id="dialog" title="Detalhes"></div>
<div id="area" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<div id="areaH2">
   <h2 class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
       Consulta
   </h2>
</div>
<form  action="<?=$this->atributos['action'];?>" method="<?=$this->atributos['method'];?>" id="<?=$this->atributos['id'];?>" >
   <?if ($this->statusEnvio == "invalido") :?>
       <div id="mensagemEnvio" class="ui-widget ui-state-error ui-corner-all" onclick="$('#mensagemEnvio').fadeOut('fast')">
           <span class="ui-icon ui-icon-close" style="float:right;"></span>
           <center><span class="ui-icon ui-icon-alert" ></span></center>
           <br />
           <div>Existem campos inválidos. Favor corrigir e finalizar o cadastro do condomínio.</div>
       </div>
   <?endif;?>
   <div id="tabsCadastro">
   <fieldset>
       <label for="campoBusca">
           <?=$this->formConsulta->campoBusca->getLabel();?>
           <?if($this->formConsulta->campoBusca->isRequired()){echo"*";}?>
       </label>
       <?=$this->formConsulta->campoBusca;?>
       <br />
       <label for="campoFiltro">
           <?=$this->formConsulta->campoFiltro->getLabel();?>
           <?if($this->formConsulta->campoFiltro->isRequired()){echo"*";}?>
       </label>
       <?=$this->formConsulta->campoFiltro;?>
       <br />
       <?=$this->formConsulta->btnSubmeter;?>
   </fieldset>
   </div>
</form>
<?if($this->condominio):?>
<div style="width: 97%; margin: 0 auto;" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<table>
   <thead>
       <tr>
           <th width="25">ID</th>
           <th width="105">FOTO</th>
           <th>NOME</th>
           <th>ENDEREÇO</th>
           <th width="150">SINDICO</th>
           <th width="150">EMPRESA ADM.</th>
           <th width="150">RESPONSÁVEL</th>
           <th width="65">Visualizar</th>
       </tr>
   </thead>
   <tbody>
       <?$cont=0;?>
       <?foreach ($this->condominio as $condominio) :?>
       <tr <?if($cont%2==0){echo 'class=row1';}?>>
           <td align="center"><?=$condominio['Con_ID'];?></td>
           <td align="center">
               <img src="/public/upload/imagens/condominio/<?=$condominio['Con_Imagem'];?>"
                    height="95" alt="Foto do Condomínio" title="Foto do Condomínio" />
           </td>
           <td align="left"><?=$condominio['Con_Nome'];?></td>
           <td align="center"><?=$condominio['Con_Endereco'];?></td>
           <td align="left"><?=$condominio['Con_Sindico'];?></td>
           <td align="center"><?=$condominio['Con_EmpresaAdm'];?></td>
           <td align="center"><?=$condominio['Con_RespEmpresa'];?></td>
           <td align="center">
               <a href="#" onclick="visualizaCondominio(<?=$condominio['Con_ID'];?>); return false;">
                   <img src="/public/images/view.png" alt="" />
               </a>
           </td>
       </tr>
       <?$cont++;?>
       <?endforeach;?>
   </tbody>
   <tfoot>
       <tr>
           <td align="center" colspan="6">(Total de registros encontrados: <?=$cont;?>)</td>
       </tr>
   </tfoot>
</table>
</div>
<?endif;?>
<?if($this->morador):?>
<div style="width: 97%; margin: 0 auto;" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<table>
   <thead>
       <tr>
           <th width="25">ID</th>
           <th width="200">FOTO</th>
           <th>NOME</th>
           <th>CPF</th>
           <th width="100">APARTAMENTO</th>
           <th width="200">CONDOMINIO</th>
           <th width="100">TELEFONE</th>
           <th width="80">Visualizar</th>
       </tr>
   </thead>
   <tbody>
       <?$cont=0;?>
       <?foreach ($this->morador as $morador) :?>
       <tr <?if($cont%2==0){echo 'class=row1';}?>>
           <td align="center"><?=$morador['Mor_ID'];?></td>
           <td align="center">
               <img src="/public/upload/imagens/morador/<?=$morador['Mor_Foto'];?>"
                height="95" alt="Foto do Morador" title="Foto do Morador" />
           </td>
           <td align="left"><?=$morador['Mor_Nome'];?></td>
           <td align="center"><?=$morador['Mor_Cpf'];?></td>
           <td align="left"><?=$morador['Mor_Apartamento'];?></td>
           <td align="center"><?=$morador['Con_Nome'];?></td>
           <td align="center"><?=$morador['Mor_Telefone'];?></td>
           <td align="center">
               <a href="#" onclick="visualizaMorador(<?=$morador['Mor_ID'];?>); return false;">
                   <img src="/public/images/view.png" alt="" />
               </a>
           </td>
       </tr>
       <?$cont++;?>
       <?endforeach;?>
   </tbody>
   <tfoot>
       <tr>
           <td align="center" colspan="7">Exibir: Todos (total de registros encontrados: <?=$cont;?>)</td>
       </tr>
   </tfoot>
</table>
</div>
<?endif;?>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

esses 2 arquivos que postei na primeira resposta foi tudo que encontrei sobre a consulta que já está fazendo,

Compartilhar este post


Link para o post
Compartilhar em outros sites

$this->morador->setFiltro($form->getValue('campoBusca'));
$this->morador->consultaMoradores($this->sessionAcl->__get('grupo'));

 

Os métodos setFiltro e consultaMoradores estão em uma classe Morador. Esta classe deve ser o model do morador. É esta classe que você deve postar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, aqui está a class :

 

<?php

class Morador {

   private $_tabela = 'PO_Morador';
   private $_tabelaNivel = 'PO_Nivel';
   private $_tabelaCondominio = 'PO_Condominio';

   private $_nome;
   private $_rg;
   private $_cpf;
   private $_apartamento;
   private $_condominio;
   private $_marcaCarro;
   private $_modeloCarro;
   private $_placaCarro;
   private $_telefone;
   private $_celular;
   private $_localTrabalho;
   private $_telefoneTrabalho;
   private $_foto;

   private $_listaMorador;
   private $_morador;
   private $_filtro;

   public function listaMoradores($grupo)
   {
       $db = Zend_Registry::get('db');

       //busca os condominios disponíveis para este usuario
       $condominio = new Condominio();
       $condominio->listaCondominios($grupo);

       foreach ($condominio->getListaCondominios() as $cond) {
           $apv[] = $cond['Con_ID'];
           //busca os moradores de cada condominio listado
           $query = $db->select()
                       ->from($this->_tabela)
                       ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID')
                       ->where('Mor_Condominio = ?',$cond['Con_ID']);
           $this->_listaMorador[] = $db->fetchAll($query);
       }
   }

   public function insereMorador()
   {
       $db = Zend_Registry::get('db');

       $dados = array('Mor_Nome'             => $this->_nome,
                      'Mor_Rg'               => $this->_rg,
                      'Mor_Cpf'              => $this->_cpf,
                      'Mor_Apartamento'      => $this->_apartamento,
                      'Mor_Condominio'       => $this->_condominio,
                      'Mor_MarcaCarro'       => $this->_marcaCarro,
                      'Mor_ModeloCarro'      => $this->_modeloCarro,
                      'Mor_PlacaCarro'       => $this->_placaCarro,
                      'Mor_Telefone'         => $this->_telefone,
                      'Mor_Celular'          => $this->_celular,
                      'Mor_LocalTrabalho'    => $this->_localTrabalho,
                      'Mor_Foto'             => $this->_foto,
                      'Mor_TelefoneTrabalho' => $this->_telefoneTrabalho);
       try {
           $query = $db->insert($this->_tabela,$dados);
           return true;
       } catch (Exception $erro) {
           return false;
       }
   }

   public function atualizaMorador($id)
   {
       $db = Zend_Registry::get('db');

       $where = array('Mor_ID = ?' => $id);
       $dados = array('Mor_Nome'               => $this->_nome,
                      'Mor_Rg'                 => $this->_rg,
                      'Mor_Cpf'                => $this->_cpf,
                      'Mor_Apartamento'        => $this->_apartamento,
                      'Mor_Condominio'         => $this->_condominio,
                      'Mor_MarcaCarro'         => $this->_marcaCarro,
                      'Mor_ModeloCarro'        => $this->_modeloCarro,
                      'Mor_PlacaCarro'         => $this->_placaCarro,
                      'Mor_Telefone'           => $this->_telefone,
                      'Mor_Celular'            => $this->_celular,
                      'Mor_LocalTrabalho'      => $this->_localTrabalho,
                      'Mor_Foto'               => $this->_foto,
                      'Mor_TelefoneTrabalho'   => $this->_telefoneTrabalho);
       try {
           $db->update($this->_tabela,$dados,$where);
           return true;
       } catch (Exception $erro) {
           return false;
       }
   }

   public function apagaMorador($id)
   {
       $db = Zend_Registry::get('db');
       $where = array('Mor_ID = ?' => $id);

       try {
           $db->delete($this->_tabela,$where);
           return true;
       } catch (Exception $erro) {
           return false;
       }

   }

   public function consultaMoradores($grupo)
   {
       $db = Zend_Registry::get('db');
       $query = $db->select()
                    ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                    ->where('Nivel_ID = ?',$grupo);
       $nivel = $db->fetchRow($query);
       if ($nivel['Nivel_Parent'] == 0) {
           $query = $db->select()
                       ->from($this->_tabela)
                       ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                       ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                       ->order('Mor_Nome');
       } else {
           $query = $db->select()
                       ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                       ->where('Nivel_ID = ?',$nivel['Nivel_Parent']);
           $nivel2 = $db->fetchRow($query);
           if ($nivel2['Nivel_Parent'] == 0) {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_Parent = ? ',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           } else {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_ID = ?',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           }
       }
       return $db->fetchAll($query);
   }

   public function buscaMorador($id)
   {
       $db = Zend_Registry::get('db');

       $query = $db->select()
                   ->from($this->_tabela)
                   ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID')
                   ->where('Mor_ID = ?', $id);
       $this->_morador = $db->fetchRow($query);
   }

   public function getTabela() {
       return $this->_tabela;
   }

   public function setTabela($tabela)
   {
       $this->_tabela = $tabela;
   }

   public function getNome()
   {
       return $this->_nome;
   }

   public function setNome($nome)
   {
       $this->_nome = $nome;
   }

   public function getRg()
   {
       return $this->_rg;
   }

   public function setRg($rg)
   {
       $this->_rg = $rg;
   }

   public function getCpf()
   {
       return $this->_cpf;
   }

   public function setCpf($cpf)
   {
       $this->_cpf = $cpf;
   }

   public function getApartamento()
   {
       return $this->_apartamento;
   }

   public function setApartamento($apartamento)
   {
       $this->_apartamento = $apartamento;
   }

   public function getCondominio()
   {
       return $this->_condominio;
   }

   public function setCondominio($condominio)
   {
       $this->_condominio = $condominio;
   }

   public function getMarcaCarro()
   {
       return $this->_marcaCarro;
   }

   public function setMarcaCarro($marcaCarro)
   {
       $this->_marcaCarro = $marcaCarro;
   }

   public function getModeloCarro()
   {
       return $this->_modeloCarro;
   }

   public function setModeloCarro($modeloCarro)
   {
       $this->_modeloCarro = $modeloCarro;
   }

   public function getPlacaCarro()
   {
       return $this->_placaCarro;
   }

   public function setPlacaCarro($placaCarro)
   {
       $this->_placaCarro = $placaCarro;
   }

   public function getTelefone()
   {
       return $this->_telefone;
   }

   public function setTelefone($telefone)
   {
       $this->_telefone = $telefone;
   }

   public function getCelular()
   {
       return $this->_celular;
   }

   public function setCelular($celular)
   {
       $this->_celular = $celular;
   }

   public function getLocalTrabalho()
   {
       return $this->_localTrabalho;
   }

   public function setLocalTrabalho($localTrabalho)
   {
       $this->_localTrabalho = $localTrabalho;
   }

   public function getTelefoneTrabalho()
   {
       return $this->_telefoneTrabalho;
   }

   public function setTelefoneTrabalho($telefoneTrabalho)
   {
       $this->_telefoneTrabalho = $telefoneTrabalho;
   }

   public function getFoto()
   {
       return $this->_foto;
   }

   public function setFoto($foto)
   {
       $this->_foto = $foto;
   }

   public function getListaMoradores()
   {
       return $this->_listaMorador;
   }

   public function getMorador() {
       return $this->_morador;
   }

   public function setMorador($morador) {
       $this->_morador = $morador;
   }

   public function getFiltro()
   {
       return $this->_filtro;
   }

   public function setFiltro($filtro)
   {
       $this->_filtro = $filtro;
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

public function consultaMoradores($grupo)
   {
       $db = Zend_Registry::get('db');
       $query = $db->select()
                    ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                    ->where('Nivel_ID = ?',$grupo);
       $nivel = $db->fetchRow($query);
       if ($nivel['Nivel_Parent'] == 0) {
           $query = $db->select()
                       ->from($this->_tabela)
                       ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                       ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                       ->order('Mor_Nome');
       } else {
           $query = $db->select()
                       ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                       ->where('Nivel_ID = ?',$nivel['Nivel_Parent']);
           $nivel2 = $db->fetchRow($query);
           if ($nivel2['Nivel_Parent'] == 0) {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_Parent = ? ',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           } else {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_ID = ?',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           }
       }
       return $db->fetchAll($query);
   }

 

Basicamente o que você precisa fazer é modificar este método para receber 2 parâmetros, sendo que o segundo é o código do condomínio. Algo assim:

 

public function consultaMoradores($grupo, $condominio = null)
   {
       $db = Zend_Registry::get('db');
       $query = $db->select()
                    ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                    ->where('Nivel_ID = ?',$grupo);
       $nivel = $db->fetchRow($query);
       if ($nivel['Nivel_Parent'] == 0) {
           $query = $db->select()
                       ->from($this->_tabela)
                       ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                       ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                       ->order('Mor_Nome');
       } else {
           $query = $db->select()
                       ->from($this->_tabelaNivel,array('Nivel_ID','Nivel_Parent'))
                       ->where('Nivel_ID = ?',$nivel['Nivel_Parent']);
           $nivel2 = $db->fetchRow($query);
           if ($nivel2['Nivel_Parent'] == 0) {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_Parent = ? ',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           } else {
               $query = $db->select()
                           ->from($this->_tabela)
                           ->join($this->_tabelaCondominio,'Mor_Condominio = Con_ID','Con_Nome')
                           ->join($this->_tabelaNivel,'Con_Apv = Nivel_ID')
                           ->where('Nivel_ID = ?',$grupo)
                           ->where('Mor_Nome LIKE "%'.$this->_filtro.'%"')
                           ->order('Mor_Nome');
           }
       }

       if($condominio !== null) {
           $query->where('Nome do campo do condomínio = ?', $condominio, Zend_Db::INT_TYPE);
       }
       return $db->fetchAll($query);
   }

 

E aí, lá na chamada do método, você passa (quando quiser) o id do condomínio que deseja pesquisar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas tipo nao quero determinar no codigo qual condominio pesquisar, quero que no campo de busca apareca assim :

 

PESQUISA | |

 

MORADOR | Condominio 1 |

MORADOR | Condominio 2 |

 

 

digito o nome no campo pesquisa e seleciono a baixo em qual condominio pesquisar. desculpa se estou falando besteira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas foi isto mesmo que eu falei para você fazer. Na chamada do método (lá no controller), você passa o valor de algo vindo do formulário. Se você passar o id do condomínio para o método, não precisa mudar nada nele (só o nome do campo). Se for buscar pelo nome ou qualquer outra informação, daí tem que mudar na parte que eu adicionei ao método.

 

Captou a ideia?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

caraca Zend até que é complicadinho kkkkk, está dando sim pra intender, só que eu não tenho idéia de como ficaria isso intende, puts preciso mesmo me atualizar kkk, gostei muito do Zend realmente quero ficar bom nele, da para fazer qualquer sistema.

 

Mas voltando ao assunto, estou ralando aqui tentando achar de onde ele pega os valor do campo, tenho lá, Condominio e Morador, não estou achando onde fica isso, para junto colocar outro campo. vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então é só você passar o valor deste campo (condominio) para o método consultaMoradores(). Mais ou menos assim:

 

$this->morador->consultaMoradores($this->sessionAcl->__get('grupo'), $form->getValue('condominio'));

 

Onde condominio é o nome do campo do formulário de onde virá o código do condomínio.

 

Tente entender o que está sendo feito, senão você pode até conseguir resolver, mas não vai aprender o que foi feito.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas tambem tenho condominios, no caso teria que criar outro campo para inserir a funcao, pois tem como eu pesquisar condominio e os moradores, e agora a nova funcao, moradores POR condominio, desculpa se falei besteira, mas ta dando para intender o que está sendo feito ! obrigado

 

Dê uma olhada :

 

http://img826.imageshack.us/img826/4420/consultazend.png

 

gostaria de ter mais um campo CONDOMINIO quando o cara clicar em morador, pra ele poder escolher moradores de qual condominio procurar . VLWWW

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o que você precisa é adicionar mais um campo aí no formulário. Aí você pega o valor digitado neste campo que você vai criar e joga ele como sendo o segundo parâmetro naquele método que modificamos.

 

Captou?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

intendi, estou tentando adicionar o campo, mas não estou achando onde está esse formulario, é esse aqui ?

 

<fieldset>
       <label for="campoBusca">
           <?=$this->formConsulta->campoBusca->getLabel();?>
           <?if($this->formConsulta->campoBusca->isRequired()){echo"*";}?>
       </label>
       <?=$this->formConsulta->campoBusca;?>
       <br />
       <label for="campoFiltro">
           <?=$this->formConsulta->campoFiltro->getLabel();?>
           <?if($this->formConsulta->campoFiltro->isRequired()){echo"*";}?>
       </label>
       <?=$this->formConsulta->campoFiltro;?>
       <br />
       <?=$this->formConsulta->btnSubmeter;?>
   </fieldset>

 

to procurando onde ficam os campos para poder adicionar mais um, vlw.

 

Outra coisa, eu quero que apareca os condominios em SELECT pra pessoa escolher e não digitar saca.

 

Obrigado !

 

Encontrei ufa, fica em APP, agora só implementar kkk :

 

class App_Forms_Default_Consulta_Form extends Zend_Form
{
   public function init()
   {
       $busca = new Zend_Form_Element_Text('campoBusca');
       $busca->setLabel('Consulta:')
             ->removeDecorator('Label')
             ->removeDecorator('HtmlTag');

       $filtro = new Zend_Form_Element_Select('campoFiltro');
       $filtro->setLabel('Filtro: ')
              ->setRequired()
              ->addValidator('NotEmpty', false, array('messages'=>'Campo obrigatório!'))
              ->setMultiOptions(array('condominio' => 'Condomínio',
                                      'morador'    => 'Morador'))
              ->removeDecorator('Label')
              ->removeDecorator('HtmlTag');

       //botao conultar
       $submit = new Zend_Form_Element_Submit('btnSubmeter');
       $submit->setLabel('Consultar')
              ->removeDecorator('Label')
              ->setAttrib('class', 'ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only')
              ->removeDecorator('HtmlTag')
              ->removeDecorator('DtDdWrapper');

       //configuracao
       $this->setMethod('post')
            ->setAction('')
            ->setAttrib('id', 'formCondominio')
            ->addElements(array($busca,
                                $filtro,
                                $submit));
   }
}

 

Eu gostaria de algo mais ou menos assim :

 

Filtro : CONDOMINIO

Filtro : MORADOR > CONDOMINI1

........ MORADOR > CONDOMINIO2

........ MORADOR > CONDOMINIO3

 

==================================================== Pensei algo assim :

 

$filtro = new Zend_Form_Element_Select('campoFiltro');
       $filtro->setLabel('Filtro: ')
              ->setRequired()
              ->addValidator('NotEmpty', false, array('messages'=>'Campo obrigatório!'))
              ->setMultiOptions(array('condominio' => 'Condomínio',
                                      'morador'    => 'Morador > $condiminio'))
              ->removeDecorator('Label')
              ->removeDecorator('HtmlTag');

 

=====================================================

 

Ou então, ao clicar em MORADOR, aparecer outro campo do lado, para escolher os condominios listados no meu BD.

 

O nome do condominio está listando assim : <?=$condominio['Con_Nome'];?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, mas agora qual é a dúvida? Não entendi. Como tentou fazer? O que aconteceu?

 

Veja, é importante você entender que não vamos fazer o seu trabalho. Podemos (e estamos) auxiliando você na solução do seu problema, mas não espere que alguém faça o trabalho por você.

 

O tópico está em outro fórum (PHP), mas as orientações servem aqui também e vale a leitura.

 

http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou querendo nada feito, é que você não intendeu minha dúvida, estou colocando os códigos pra vocês intendenrem melhor, minha dúvida é a seguinte :

 

Como sou novo no Zend não sei as linhas como montar o código para funcionar,

 

Tenho esse formulário, e estou querendo outro campo, eu estou vendo os já criados e quero fazer outro mas não estou conseguindo, minha dúvida é como vou fazer para associar o COD_MORADOR com o COD_CONDOMINIO para a consulta, consultar MORADOR POR CONDOMINIO. intendeu ?

 

como se associa isso, qual a função do zend que faz isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é uma função do Zend. Você precisa criar mais um elemento HTML dentro do form (pode ser criado pelo Zend, como o restante dos elementos). Aí você pega o valor preenchido neste campo do formulário e joga no método.

 

Na verdade a lógica tem mais relação com PHP puro e HTML. O Zend só serve para facilitar o trabalho, mas a lógica é a mesma que se fosse feita em PHP puro.

 

Carlos Eduardo

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.