carol311 0 Denunciar post Postado Agosto 22, 2005 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
Fabyo 66 Denunciar post Postado Agosto 22, 2005 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
carol311 0 Denunciar post Postado Agosto 22, 2005 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
Fabyo 66 Denunciar post Postado Agosto 22, 2005 tem o mysql normal ja que você ta usando ele pode usar http://br.php.net/manual/pt_BR/function.my...etch-object.php http://br.php.net/manual/pt_BR/function.my...fetch-array.php Compartilhar este post Link para o post Compartilhar em outros sites
carol311 0 Denunciar post Postado Agosto 23, 2005 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
Eclesiastes 2 Denunciar post Postado Agosto 24, 2005 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
carol311 0 Denunciar post Postado Agosto 26, 2005 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
carol311 0 Denunciar post Postado Agosto 29, 2005 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
Fabyo 66 Denunciar post Postado Agosto 29, 2005 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
carol311 0 Denunciar post Postado Agosto 29, 2005 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
heliosal 0 Denunciar post Postado Agosto 30, 2005 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
Fabyo 66 Denunciar post Postado Agosto 30, 2005 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
carol311 0 Denunciar post Postado Agosto 30, 2005 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
Fabyo 66 Denunciar post Postado Agosto 30, 2005 você pode retornar e usar o loop só na hora de exibir mesmo Compartilhar este post Link para o post Compartilhar em outros sites
ersime 0 Denunciar post Postado Agosto 30, 2005 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
carol311 0 Denunciar post Postado Agosto 31, 2005 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
heliosal 0 Denunciar post Postado Agosto 31, 2005 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
Fabyo 66 Denunciar post Postado Agosto 31, 2005 Legal que funcionou, mas depois se quiser tentar use um loop só você esta usando 2 loop, sendo desnecessario isso Compartilhar este post Link para o post Compartilhar em outros sites
carol311 0 Denunciar post Postado Setembro 2, 2005 Oi Fábio.... Eu tentei só com um loop...o da tela(tirei o loop da classe).....mas ai só me traz o primeiro registro do banco..... Não tentei o inverso...mas ai eu acho que naum deve funcionar não.... Valeu...galera!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
heliosal 0 Denunciar post Postado Setembro 2, 2005 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