manoaj 12 Denunciar post Postado Julho 9, 2015 Olá pessoal boa noite. Bom eu queria saber se é possivel retornar um loop de uma consulta atraves de uma função. em uma consulta normal e direta eu simplesmente uso um while($result = $query->fetch_array())){} e chamo os valores que eu quero dentro desse while $result['id'] e bla bla bla, mas como eu faria isso em uma função function exemplo(){ consulta aqui return ( o que)????? } e como chamo esses valores? Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Julho 9, 2015 return ( o que)????? o que, o que? $result = $query->fetch_array() A variavel $result ja é um array com dados da consulta o que vc queria que retornasse? Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Julho 9, 2015 Sim é um array mas na é um loop, quero retornar um loop ou as informações da consulta para que eu possa montar um loop depois com as informações da minha consulta. Tentei retornar um fetch_ assoc pra depois usar um foreach mas não deu certo. Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Julho 9, 2015 Sim é um array mas na é um loop, mas é no array que estarão os dados ..quero retornar um loop ou as informações da consulta para que eu possa montar um loop depois com as informações da minha consulta. nao existe ' retornar loop', você quer um array com o resultado de uma consulta de vários registros? nao precisa ser uma funcao sua, EX $pdo = new PDO('mysql:host=localhost; dbname=db;', 'user', 'senha'); $stmt = $pdo->prepare('SELECT'); $consulta = $stmt->execute(); $resultado = $stmt->fetchAll(); depois você usa o foreach normalmente em $resultado foreach ($resultado as $value) { } Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Julho 9, 2015 Eu sei q não precisa ser exatamente uma função mas o problema é q vou usar esse mesmo select em varios lugares então se desse para montar una função com ele para poder diminuir o código e não precisar ficar fazendo uma consulta em toda página q eu tiver q usar ele seria melhor eu acredito, não só na estética do código como tb na economia do tempo. Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Julho 9, 2015 então joga aquele trecho dentro da função function select() { $pdo = new PDO('mysql:host=localhost; dbname=db;', 'user', 'pass'); $stmt = $pdo->prepare('SELECT'); $stmt->execute(); $resultado = $stmt->fetchAll(); return $resultado; } foreach (select() as $value) { print($value['coluna']); } Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Julho 9, 2015 Exatamente isso que queria saber se era possível e tinha dado errado no meu código, uma ultima pergunta, só funciona com fetchAll ou posso usar fetch_array e fetch_assoc? Exatamente isso que queria saber se era possível e tinha dado errado no meu código, uma ultima pergunta, só funciona com fetchAll ou posso usar fetch_array e fetch_assoc? Problema resolvido, no caso de retornar o um array com os dados do banco é como vc disse, usando o fetchAll do pdo e no mysqli usando o fetch_all(MYSQLI_BOTH); ou MYSQLI_NUM ou MYSQLI_ASSOC, as três formas de passagem de dados funciona desde que seja usado fetch_all(); com fetch_array(); e fetch_assoc(); não funciona retorna um warning, só com fetch_all mesmo e era exatamente ai que eu estava errando, muito obrigado por me ajudar irmão. Compartilhar este post Link para o post Compartilhar em outros sites