Ir para conteúdo

POWERED BY:

Arquivado

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

leoprofessor

foreach

Recommended Posts

tenho essa function ó: //USADA PARA LISTAR ASSOCIADOSfunction listar_associados_relatorios(){$query = "SELECT * FROM associados a, uf b ";$query .= "WHERE a.cod_uf = b.cod_uf";$result = mysql_query($query) or die("A consulta falhou : " . mysql_error());if ($result){ while($c = mysql_fetch_array($result)){ $res['nome_associado'] = $c['nome_associado']; $res['data_nascimento_dep'] = $c['data_nascimento_dep']; $res['desc_uf'] = $c['desc_uf']; $res['end_comp_associado'] = $c['end_comp_associado']; $res['cod_associado'] = $c['cod_associado']; }}return $res;}dai chamo ela assim ó:$res = Associados::listar_associados_relatorios(); foreach($res as $chave=>$valor){ print"<input type=\"hidden\" name=\"".$chave."\" value=\"".$valor."\">"; }porque o array $res so traz o ultimo registro da tbela e nao um array com todos?

Compartilhar este post


Link para o post
Compartilhar em outros sites
imprecionante, toda vex qe post algo ninguem me ajuda!!!!será q é tao dificil assim??

 

Relaxa, cara... tenho certeza que o pessoal vai querer lhe ajudar bem mais se você der UP no tópico usando palavras como "por favor", ao invés de ficar indignado assim.

 

Bom, quanto à sua dúvida, isso está acontecendo porque dentro do while na função você precisaria criar um array multi-dimensional. Da forma que você está fazendo, você define os mesmos elementos do array retornado diversas vezes... aí eles assumem a última atribuição, que corresponde à última linha. Veja como deve ficar:

 

PHP
  1. $i = 0;
  2. while($c = mysql_fetch_array($result)){
  3. $res[$i] = array();
  4. $res[$i]['nome_associado'] = $c['nome_associado'];
  5. $res[$i]['data_nascimento_dep'] = $c['data_nascimento_dep'];
  6. $res[$i]['desc_uf'] = $c['desc_uf'];
  7. $res[$i]['end_comp_associado'] = $c['end_comp_associado'];
  8. $res[$i]['cod_associado'] = $c['cod_associado'];
  9. $i++;
  10. }

 

Pronto... agora você vai ter um array multi-dimensional em que o índice "0" representa a primeira linha retornada, o índice "1" a segunda, e assim por diante.

 

Falou!

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.