Leedengo 0 Denunciar post Postado Dezembro 22, 2011 pessoal to fazendo uma listagem de dados aqui,e tipo ela retorna o nome array em vez dos resultados, tem algo de errado com meu script? public function adminListar() { global $core; $arr = array(); $result = DB::getConexao()->query("SELECT * FROM mdl_photo"); $data = array(); while($row = $result->fetchALL(PDO::FETCH_OBJ)){ $data[] = $row; } return $data; } alguem me ajuda? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Cara, pra que você vai criar outro array sendo que o fetchAll vai te retornar tudo o que você precisa. O fetchAll já retorna um array multi-dimensional com os dados da tabela, não vejo razão de estar utilizando esse while Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Dezembro 22, 2011 Eu normalmente pediria para você postar sua classe de conexão, mas como me parece ter alguma coisa a ver com a PDO, remova o while(). Esse fetchAll(), provavelmente já encapsula o trabalho de iterar sobre o recordset, daí basta atribuí-lo à uma variável, direto. Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 Cara, pra que você vai criar outro array sendo que o fetchAll vai te retornar tudo o que você precisa ? entao no caso como ficaria o script? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Só tira esse while daí public function adminListar() { global $core; $arr = array(); $result = DB::getConexao()->query("SELECT * FROM mdl_photo"); return $result->fetchALL(PDO::FETCH_OBJ)); } Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 printo isso Array; AInda nao funciono. Obs:é PDO ,Com MVC Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Como você está tentando mostrar os dados do array ? poste sua classe de conexão aí também. Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 Como você está tentando mostrar os dados do array ? poste sua classe de conexão aí também. public static function getConexao() { if (!self::$instancia) { try { self::$instancia = new PDO(DB_TYPE.':dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS); self::$instancia->query('SET NAMES '.DB_CHARSET); self::$instancia->query('SET CHARACTER SET '.DB_CHARSET); return self::$instancia; } catch (PDOException $e) { echo 'Erro: '.$e->getMessage(); } } return self::$instancia; } Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Isso não responde a minha primeira pergunta, e eu acho bem melhor do que você executar essas querys, fazer o seguinte: self::$instancia->setAttribute( PDO::MYSQL_ATTR_INIT_COMMAND , 'SET NAMES utf8' ) ; Se for MySQL, claro. Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 eu so quero mostrar as coisas na pagina, pois este projeto e de outra empresa. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Ué, você tem que iterar sob o resultado, utilize o foreach .. <?php foreach ( $dados as $row ) { echo $row [ 'campoDataTabela' ] ; // ... } Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 Ué, você tem que iterar sob o resultado, utilize o foreach .. <?php foreach ( $dados as $row ) { echo $row [ 'campoDataTabela' ] ; // ... } tipo deu quase certo , so que tipo,troquei echo pelo return , senão ele iria printar fora da pagina, mas agora ele so mostra o primeiro resultado eu quero todos.. entendeu mano? o problema é que ele so mostra 1 Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Cara, o return VOLTA com o array , e não imprime, você tem que iterar sob ele, não tem como imprimir array com echo, debuge o resultado também: print_r ( $class->adminListar() ) ; :seta: http://br2.php.net/manual/en/pdostatement.fetchall.php Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 tem outra alternativa? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Dezembro 22, 2011 Cara, não é outra alternativa, você está usando algo que não sabe usar, simplesmente é este o caso, se você entendesse o retorno da coisa, vai saber como tratar e mostrar os dados, eu já te falei como tem que fazer, e te mandei o link para a documentação da função, por lá mesmo você vai ver o retorno .. tem outra alternativa? Compartilhar este post Link para o post Compartilhar em outros sites
Leedengo 0 Denunciar post Postado Dezembro 22, 2011 Cara, não é outra alternativa, você está usando algo que não sabe usar, simplesmente é este o caso, se você entendesse o retorno da coisa, vai saber como tratar e mostrar os dados, eu já te falei como tem que fazer, e te mandei o link para a documentação da função, por lá mesmo você vai ver o retorno .. Nada Ainda Tentei Mas Não Foi; Com echo vai Mas, fica fora do layout, so com return que fica dentr Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 22, 2011 Você tem que passar o retorno do método adminListar() para a view. Na view você pega este valor e usa o foreach para iterar por este array e exibir os dados que estão no recordset. Se não conseguir, poste seu controller, sua view e como tentou fazer. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites