Função Pesquisar em PHP

1. Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 15/08/2013 - 19:32h

Olá, Pessoal!

Tenho o seguinte código:


public function Pesquisa($usuario){
           try{
               
               
            
            $this->p = new Conexao();
            
            $stmt = $this->p->prepare("SELECT * FROM usuario WHERE usu_nome LIKE ?");
            $stmt->bindValue(1, '%'.$usuario->getNome().'%',PDO::PARAM_STR);            
            $stmt->execute();
            $res = $stmt->fetch();
            if($res>0){
                //  $user = $stmt->fetchColumn();
            while ($dados = $stmt->fetch(PDO::FETCH_OBJ)){
                $cliente = new Usuario();
                       /*Instancia um objeto cliente para cada cliente que existe
                        * objeto Cliente chama o metodo setId e passa os dados como
                         um array de posição id*/
                       $cliente->setId(array('id'=>$dados->usu_id));
                       /*objeto Cliente chama o metodo setNome e passa os dados como
                         um array de posição nome*/
                       $cliente->setNome(array('nome'=>$dados->usu_nome));
                       /*varival $arr do tipo array para cada nova posição re
                        * recebe o objeto cliente
                        */
                       $cliente->setLogin(array('login'=>$dados->usu_login));
                       
                       $arr[] = $cliente;
                       
                   /*
                    * retorna o array com todos os objetos instaciados
                    * obs: cada registro um objeto
                    */
                   
               }
               return $arr;
            }else{
                echo "<br><br>Usuario nao encontrado";
            }
            
           
            
            }catch ( PDOException $ex ){  echo "Erro: ".$ex->getMessage();
              echo "Nao encontrado";
            
            }
        
                $this->p = null;
                
       }
 


Porém, quando pesquiso dá o seguinte erro

Notice: Undefined variable: arr in C:\wamp\www\cadastro\dao\Usuario_DAO.class.php on line 194

Alguem pode me ajuda?




  


2. Re: Função Pesquisar em PHP

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 15/08/2013 - 21:28h


Notice: Undefined variable: arr in C:\wamp\www\cadastro\dao\Usuario_DAO.class.php on line 194


Tem uma variável indefinida na linha 194, do arquivo Usuario_DAO.class.php, que se localiza no diretório C:\wamp\www\cadastro\dao\

Abra o arquivo e verifique essa linha, que está dando o erro. Verifique qual é a variável indefinida.


3. Re: Função Pesquisar em PHP

Gunnar Correa
gunnercorrea

(usa Ubuntu)

Enviado em 15/08/2013 - 21:42h

Olá, provavelmente a variável não existe ou você não tem permissão para acessa-la.

Qual é o código todo?

Onde você declarou public $arr; ?


4. Re: Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 15/08/2013 - 21:50h

gunnercorrea escreveu:

Olá, provavelmente a variável não existe ou você não tem permissão para acessa-la.

Qual é o código todo?

Onde você declarou public $arr; ?



A variavel está nesta funcao ai ...

Por na funcao listarTodos funcionou, mas quando vou pesquisar dá erro


 public function ListarTodos(){
           try{
            
            $this->p = new Conexao();
            
            $stmt = $this->p->query("SELECT * FROM usuario ");
                        
           
          //  $user = $stmt->fetchColumn();
            while ($dados = $stmt->fetch(PDO::FETCH_OBJ)){
                $cliente = new Usuario();
                       /*Instancia um objeto cliente para cada cliente que existe
                        * objeto Cliente chama o metodo setId e passa os dados como
                         um array de posição id*/
                       $cliente->setId(array('id'=>$dados->usu_id));
                       /*objeto Cliente chama o metodo setNome e passa os dados como
                         um array de posição nome*/
                       $cliente->setNome(array('nome'=>$dados->usu_nome));
                       /*varival $arr do tipo array para cada nova posição re
                        * recebe o objeto cliente
                        */
                       $cliente->setLogin(array('login'=>$dados->usu_login));
                       
                       $arr[] = $cliente;
                       
                   /*
                    * retorna o array com todos os objetos instaciados
                    * obs: cada registro um objeto
                    */
                   
            } 
            
            }catch ( PDOException $ex ){  echo "Erro: ".$ex->getMessage(); }
        
                $this->p = null;
                return $arr;
       }
 



5. Re: Função Pesquisar em PHP

Andre Cardoso
andrebian

(usa Fedora)

Enviado em 15/08/2013 - 22:54h

oproblema é que a variável $arr esta sendo inicializada somente dentro do while, que teoricamente está esperando que haja retorno da consulta sql no entanto não há. Declare a variável $arr logo antes do do if($res>0){ desta forma


$arr = array();

if ( $res> 0 ) { ...
 




6. Re: Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 15/08/2013 - 22:55h

Bom. Nao deu erro, mas tambem nao apareceu nada quando eu digitei a palavra para pesquisar


7. Re: Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 22/08/2013 - 11:41h

Alguém tem alguma ideia?


8. Re: Função Pesquisar em PHP

Diego Lepera
d_lepera

(usa Linux Mint)

Enviado em 22/08/2013 - 12:32h

pelo que eu percebi, no médoto Pesquisar vc está tentando inserir diretamente o valor dentro do vetor sem declará-lo. Por isso ocorre esse aviso. Recomendo que você declare a variável antes do while: $arr = array();




9. Re: Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 23/08/2013 - 11:01h

É porque eu usei no método listarTodos() e funcionou
Ai eu tentei usar praticamente a mesma ideia para pesquisar
porém, sem sucesso.


10. Re: Função Pesquisar em PHP

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 26/08/2013 - 15:27h

E agora?


11. Re: Função Pesquisar em PHP

Diego Lepera
d_lepera

(usa Linux Mint)

Enviado em 26/08/2013 - 15:47h

vc mexeu alguma coisa no código?


12. Re: Função Pesquisar em PHP

Laerte Guedes Monteiro
laerteguedes8

(usa Fedora)

Enviado em 26/08/2013 - 16:14h

Realmente acho que você deveria declarar $arr como array antes do if, fazendo $arr = Array(). Deveria funcionar, tente dar um var_dump($arr) e var_dump($cliente) e coloque aqui o que aparecer.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts