Ir para conteúdo

POWERED BY:

Arquivado

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

DMW

[Resolvido] Consulta em PHP OO

Recommended Posts

Bom dia galera !!!

 

Sou iniciante em PHP OO e estou tentando fazer com que todos os nomes das agencias cadastradas na tabela apareça, mas nao to conseguindo.

O erro é que nao esta aparecendo nenhum dos nomes das agencias cadastradas.

 

Alguem pode me ajudar ???

 

Grato...

 

Agencia.class.php:

<?php 

class Agencia{


public $nome;

//Pegar
public function getNome(){

	return $this->nome;
}
//Defenir
public function setNome($nome){

	$this->nome = $nome;

}


public function Mostra(){

	$con = mysql_query("SELECT * FROM tab_agencia_comercial");

	while($result = mysql_fetch_array($con)){

		$result = $this->getFromResult();

		return $result;

	}
}

private function getFromResult($result) {

	$this->setNome($result['nome']);

} 

}

?>

 

mostra_agencia.php:

<?php 

include("conexao.php");
include("agencia.class.php");

$agencia = new Agencia();

$agencia->Mostra();

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php 

        include("conexao.php");
        include("agencia.class.php");
        
        $agencia = new Agencia();

        echo $agencia->Mostra();
        
?>

 

acho que é isso

 

eu mtas vzs esquecia do echo e ficava quase louco!! "Mas como?! tá certo pq não aparece" :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

        public function Mostra(){
        
                $con = mysql_query("SELECT * FROM tab_agencia_comercial");
                
                while($result = mysql_fetch_array($con)){
                
                        $result = $this->getFromResult();
        
                        return $result;
                
                }
        }

coloca o return fora do while.

 

e aqui

       private function getFromResult($result) {
 
                $this->setNome($result['nome']);
                return $this->getNome($result['nome']);
 

foram as únicas coisas estranhas que notei. e deixa o echo.

 

o result do método mostra recebe o getFormResult que não retorna nada...

 

e o result de mostra faz ele como array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim:

 

public function Mostra(){

 

$con = mysql_query("SELECT nome FROM tab_agencia_comercial");

 

while($result = mysql_fetch_array($con)){

 

$result = $this->getFromResult();

 

}

return $result;

}

 

private function getFromResult($result) {

 

$this->setNome($result["nome"]);

return $this->getNome($result['nome']);

 

}

 

 

Mas tb nao deu certo !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu getNome() não tem parâmetro, foi erro de ctrl+c ctrl+v...

 

o que está retornando o echo do Mostra() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nd !!!

 

Ta assim:

 

public function Mostra(){

 

$con = mysql_query("SELECT * FROM tab_agencia_comercial");

 

while($result = mysql_fetch_array($con)){

 

$result = $this->getFromResult();

 

}

return $result;

}

 

private function getFromResult($result) {

 

$this->setNome($result["nome"]);

 

return $this->getNome();

 

}

Mas retorna uma pagina em branco

 

O que eu faço entao para revolver isso ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei outro problema:

 

        public function Mostra(){
        
                $con = mysql_query("SELECT * FROM tab_agencia_comercial");
                
                while($result = mysql_fetch_array($con)){
                
                        $result2[] = $this->getFromResult($result); //tb faltou passar o parametro para o getFromResult
                
                }
                return $result2;
        }

e ao inves do echo coloca var_dump($agencia->Mostra());

 

e posta o que retornou (se vier um array com seus dados é pq tah certo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo cara, retorno isso:

array(8) { [0]=> string(3) "AAA" [1]=> string(1) "D" [2]=> string(3) "das" [3]=> string(3) "gdf" [4]=> string(3) "AAA" [5]=> string(3) "AAA" [6]=> string(3) "AAA" [7]=> string(3) "AAA" }

 

Mas como que eu faço para tirar esses string e so ficar com o nome ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora o seu mostra() está retornando um array. é só percorrer o array e dar echo ou atribuir a outra variável, enfim, manipular de acordo com sua necessidade.

 

por exemplo:

 

  foreach($agencia->mostra() as $nome) {
    echo $nome."<br />";
  }

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.