Ir para conteúdo

POWERED BY:

Arquivado

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

carol311

Classe em php 5

Recommended Posts

Oi gente...To com um problema que não consegui ainda pensar em uma solução. É o seguinte:Eu estou fazendo uma classe em php 5 - Usuário.Ja consegui fazer os métodos de inseir, de alterar, de excluir e de pesquisar por um usuário. Contudo, eu preciso fazer um método para listar todos os meus usuários que estarão cadastrados. Meu problema é o seguinte: Como retornar a lista de todos os usuários? Como eu faço a classe retornar essa "coleção" de usuários? Como, na tela que vou instanciar a classe eu vou conseguir ler todos esses usuários?Gente...to perdida....se alguém puder me ajudar!!Eu não encontrei nada na internet falando sobre isso....Muito obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesma coisa dentro de um loop você pega os dados e retona eles

 

se você esta usando php5 recomendo usar mysqli é uma versao do php melhorada pra se trabalhar com as novas funções do mysql acima do 4.1

 

http://br.php.net/mysqli

 

e pra você pegar todo conteudo pode usar:

 

http://br.php.net/manual/pt_BR/function.my...etch-object.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI Fábio....

 

Cara...ja esta melhoranndo...hehehehe

 

Tenho mais algumas dúvidas....

 

Se eu não tiver o mysqli não da pra usar o mysqli_fetch_object, certo? O problema é que eu dependo do servidor la da faculdade...mas esse não é o maior problema.

 

Eu entedi como usar se for dentro de uma página. Contudo eu preciso usar isso num método de uma classe php. E este método tem q retornar a lista de registro q meu select retorna. Eu vou ter que retornar o objeto? Como faço isso? Como vou ler esse objeto na minha página que estara usando o metodo da classe?

 

Se você pudar me ajudar mais, agradeço. Se não....obrigada por ter clareado as idéias ja?!

 

Valeu!!

 

 

 

 

 

mesma coisa dentro de um loop você pega os dados e retona eles

 

se você esta usando php5 recomendo usar mysqli é uma versao do php melhorada pra se trabalhar com as novas funções do mysql acima do 4.1

 

http://br.php.net/mysqli

 

e pra você pegar todo conteudo pode usar:

 

http://br.php.net/manual/pt_BR/function.my...etch-object.php

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Gente...Eu de novo!!

 

Sabe o que me ocorreu.....e seu eu, dentro do método preeenchesse um array? Será que fucionaria? A única coisa que ainda não consegui descobrir é como fazer para p método retornar esse array preeenchido e também como fazer para ler esse array quando eu instanciar a classe.

 

Alguém pode me ajudar!!!!

 

Valeu!!!

 

CAROL

 

 

 

 

OI Fábio....

 

Cara...ja esta melhoranndo...hehehehe

 

Tenho mais algumas dúvidas....

 

Se eu não tiver o mysqli não da pra usar o mysqli_fetch_object, certo? O problema é que eu dependo do servidor la da faculdade...mas esse não é o maior problema.

 

Eu entedi como usar se for dentro de uma página. Contudo eu preciso usar isso num método de uma classe php. E este método tem q retornar a lista de registro q meu select retorna. Eu vou ter que retornar o objeto? Como faço isso? Como vou ler esse objeto na minha página que estara usando o metodo da classe?

 

Se você pudar me ajudar mais, agradeço. Se não....obrigada por ter clareado as idéias ja?!

 

Valeu!!

 

 

 

 

 

mesma coisa dentro de um loop você pega os dados e retona eles

 

se você esta usando php5 recomendo usar mysqli é uma versao do php melhorada pra se trabalhar com as novas funções do mysql acima do 4.1

 

http://br.php.net/mysqli

 

e pra você pegar todo conteudo pode usar:

 

http://br.php.net/manual/pt_BR/function.my...etch-object.php

<{POST_SNAPBACK}>

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo:

 

<?phpclass teste{    function consulta()    {        $Consulta = mysql_query(            "SELECT * FROM tabela"        ) or die(mysql_error());                while ($rsConsulta = mysql_fetch_assoc($Consulta))        {            $aResult[] = $rsConsulta;        }                return $aResult;    }}$class = new teste;$resultados = $class->consulta();print "<pre>";print_r($resultados);?>

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Gente....

 

Vcs estão me ajudando muito mesmo...valeu....

 

Eu fiz(ainda naum testei pq o servidor da faculdade ta down) um exemplo baseado nas coisas q vs me disseram. Vcs poderiam ver, se isso que eu fiz ta certo?

 

Valeu http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

<?

 

class teste

{

function consulta()

{

$query = "SELECT id, nome, login, FROM USUARIO";

$result = mysql_query($query) or die(mysql_error());

$row = mysql_fetch_object($result);

return $row;

}

}

 

$class = new teste;

$resultados = $class->consulta();

while ($lin = $resultados) {

echo $lin->id;

echo $lin->nome;

echo $lin->login;

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente...eu de novo.....hehehe

 

Eu só vou conseguir testar o codigo que eu postei amanhã e quarta a noite , na faculdade.

 

Eu aindei pensando, quando eu reorno o objeto $row da classe, este tem q ir com o resultado de mysql_fetch_object($result), certo? Ou seja eu tenho q conseguir na página q vou instanciar a classe usar os recursos do mysql_fetch_object, certo?!

 

O while....que esta na página onde eu instancio a classe, tem q funcionar assim tb..certo?!

 

$class = new teste;

$resultados = $class->consulta();

while ($lin = $resultados) {

echo $lin->id;

echo $lin->nome;

echo $lin->login;

}

 

 

Gente.....valeu pela ajuda!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

CAROL

Compartilhar este post


Link para o post
Compartilhar em outros sites

só um detalhe essa sua classe nao esta sendo muito util porque ela nao pode ser utilizada em outras consultas somente quando você usar

 

echo $lin->id;

echo $lin->nome;

echo $lin->login;

 

você tem que criar uma classe que te retorne um objeto independente da situação e do banco n campos, dai sim seria uma classe mais util, se for pra fazer apenas isso nao precisa de oop poderia ser uma função normal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oiii

 

Na verdade...esse é só um método da minha classe usuário. A classe usuário tem vários outros métodos.

 

E, dentro do meu sistema, em alguns lugares eu vou listar os usuário (id, nome e login). Por isso eu acho que tem utilidade.

 

Mas, você acha que esse meu código funciona???

 

Valeu!!!!!!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

CAROL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tava com um loop infinito ;)

PHP

[*]<?

[*]class teste{

[*] function consulta(){

[*] $query = "SELECT id, nome, login FROM usuario";

[*] $result = mysql_query($query) or die(mysql_error());

[*] while($row = mysql_fetch_array($result)){

[*] $rows[] = $row;

[*] }

[*] return $rows;

[*] }

[*]}

[*]

[*]$class = new teste;

[*]$res = $class->consulta();

[*]

[*]for($i = 0; $i < count($res); $i++){

[*] echo $res[$i][id]." - ".$res[$i][nome]." - ".$res[$i][login]."<br>";

[*]}

[*]?>

 

Acho q isso serve http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao entendeu o que eu quiz dizer, se você esta montando uma classe de conexao, execução de sql, etc... , a classe teria que ser mais independente sem precisar você definir os campos, porque senao nao faz sentido usar classes, bastava uma função normal, agora se você ta usando classe seria bom reaproveitamento do codigo em qualquer situação, do jeito que você ta fazendo você limita muito seu codigo pra uso apenas no seu caso, nao sei se você entendeu agora, mas resumindo do jeito que você ta fazendo a classes nao esta sendo bem aproveitada, você só ta tendo trabalho e poderia usar uma função normal

 

obs: outra coisa que nao faz sentido é no exemplo acima, o heliosal esta usando 2 loop onde precisaria apenas de 1, ficando um loop desnecessario

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI Fábio....

 

Acho que to entendendo o q você quiz dizer. Por exemplo, seu na minha classe ao invés de eu limitar os campos eu colocasse um select * from você acha que poderia reusarmais código? E isso, ou eu continuo viajando? hehehe

 

E....quanto ao que oi o heliosal postou ..você ahca que o loop dentro do método é que é desnecessário?

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

$rows[] = $row;

}

 

bastaria apenas o loop na hora de exibir?

 

for($i = 0; $i < count($res); $i++){

echo $res[$i][id]." - ".$res[$i][nome]." - ".$res[$i][login]."<br>";

}

 

 

Gente.....muito obrigada!!!

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei colega, estou usando classe em um sistema que faço,fiz da seguinte formametodo() {$query="select ...."$this->res=mysql_query($this->link, $query);$this->linha=mysql_fetch_?($res);return $this->linha;}ai onde você der o loop fazwhile $reg=metofo() {echo $reg[??];}É por aí

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera.....FUNCIONOU!!!

 

depois de muitos testes funcionou da seguinte forma:

 

Na classe

 

$this->query="select * from USUARIO ";

$this->result = mysql_query($this->query);

$this->num_row = mysql_num_rows($this->result);

if($this->num_row<=0)

{

$this->erro= "não existem usuários cadastrados";

$cnx->fechaconexao();

return($this->erro);

 

}

else

{

 

while($this->row = mysql_fetch_array($this->result)){

$this->rows[] = $this->row;

}

return $this->rows;

 

 

}

 

 

 

 

 

na tela

 

include_once("classes/Class_Usuario.php");

 

$usu = new usuario();

 

$res = $usu->listar();

 

if(!empty($usu->erro))

{

echo $usu->erro;

}

else

{

 

for($i = 0; $i < $cont; $i++){

echo $res[$i]['IDUSUARIO'];

echo "<br>";

echo $res[$i]['NOME'];

echo "<br>";

echo $res[$i]['LOGIN'];

echo "<br>";

echo "<br>";

 

}

 

}

 

 

 

valeu pela ajuda de todo!!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ersime, o teu código vai ficar similar ao da carol pode seguir o exemplo do dela ;)

 

fabyo, eu coloquei um 2 loop's pq com um só não funcionou direito, tava obtendo apena uma linha do banco de dados, por isso coloquei um loop na função e uma fora para retornar os valores obtidos na função http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif ... eh q tb naum sou muito bom tudo q aprendo foi aki http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
Como eu avia testado anteriormente, com apenas um loop fica "infuncional" o código pro não suprir as necessidades previstas pra ele ;) ... sempre irá retornar apenas uma linha do banco http://forum.imasters.com.br/public/style_emoticons/default/joia.gif ... mas o importante é que está fuincionando, se tu puder postar aki o código com apenas um loop fabyo melhor ainda pois quanto menos linhas mais aproveito se tem de uma script ... passa bem pessoal ... até eu aprendi com este tópico ... não sabia trabalhar com classes http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

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.