Ir para conteúdo

POWERED BY:

Arquivado

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

Ítalo Menezes

[Resolvido] Criando array com resultado de consulta

Recommended Posts

Olá, boa tarde a todos ^_^

 

Eu tenho uma consulta ao meu banco de dados que retorna 4 linhas, eu preciso criar uma array de cada de linha um de campo pra depois ele somar essas 4 linhas.

 

Minha consulta está abaixo:

SELECT * FROM tabela WHERE id = 'WEB10022002453534331396259983307298619984832211490' AND descricao_insumo like '%PIG TAIL%'

Faço as arrays desse modo:

 

<?
include "config.php";

$select = "SELECT * FROM tabela WHERE id = 'WEB10022002453534331396259983307298619984832211490' AND descricao_insumo like '%PIG TAIL%'";

$teste = pg_query($conectabd, $select);
while ($fetch = pg_fetch_array($teste)){
	$teste2 = $fetch['somaqtd'];
	echo $teste2[0];
        echo $teste2[1];
}
?>

Preciso pegar os resultados do campo "somaqtd" que é exibido e somar os 4 valores que são exibidos.

Do modo como estou fazendo, ele retorna todos os resultados em uma linha só, preciso que ele guarde cada resultado em uma linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo você está usando pg_query, que banco de dados você está utilizando, não seria mysql_query, seguido por mysql_fetch_array()

 


<?
   include "config.php";

   $select = "SELECT * FROM tabela WHERE id = 'WEB10022002453534331396259983307298619984832211490' AND descricao_insumo like '%PIG TAIL%'";

   $teste = mysql_query($conectabd, $select);

   $x=0;
   while ($fetch = mysql_fetch_array($teste)){
        
        $teste2[$x] = $fetch['somaqtd'];        
        echo $teste2[$x];
        echo $teste2[$x];
        $x++ //aqui ele conta os no do array
   }

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do modo como estou fazendo, ele retorna todos os resultados em uma linha só, preciso que ele guarde cada resultado em uma linha

Não entendi muito bem. Você quer guardar todos os dados num array para, futuramente, usar em outra parte da aplicação?

Se for isso, faça algo como:

while ($fetch = mysql_fetch_array($teste)){
        
        $dados[] = $fetch['somaqtd'];        
   }

Agora você tem todo o retorno da consulta na matriz $dados:

print_r($dados);
Você pode utilizar um foreach para iterar sobre ela e manipular cada item da matriz:

foreach($dados as $dado){
  echo $dado['somaqtd'];
  // faz outras coisas
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo você está usando pg_query, que banco de dados você está utilizando, não seria mysql_query, seguido por mysql_fetch_array()

 


<?
   include "config.php";

   $select = "SELECT * FROM tabela WHERE id = 'WEB10022002453534331396259983307298619984832211490' AND descricao_insumo like '%PIG TAIL%'";

   $teste = mysql_query($conectabd, $select);

   $x=0;
   while ($fetch = mysql_fetch_array($teste)){
        
        $teste2[$x] = $fetch['somaqtd'];        
        echo $teste2[$x];
        echo $teste2[$x];
        $x++ //aqui ele conta os no do array
   }

?>

O código está certo, o banco é o postgresql sim, o comando correto é esse mesmo. O negócio era só pra guardar na array :D

 

Do modo como estou fazendo, ele retorna todos os resultados em uma linha só, preciso que ele guarde cada resultado em uma linha

Não entendi muito bem. Você quer guardar todos os dados num array para, futuramente, usar em outra parte da aplicação?

Se for isso, faça algo como:

while ($fetch = mysql_fetch_array($teste)){
        
        $dados[] = $fetch['somaqtd'];        
   }

Agora você tem todo o retorno da consulta na matriz $dados:

print_r($dados);
Você pode utilizar um foreach para iterar sobre ela e manipular cada item da matriz:

foreach($dados as $dado){
  echo $dado['somaqtd'];
  // faz outras coisas
}

Pronto amigo, com seu primeiro bloco de código eu já consegui guardar separadamente os itens na array! Era isso mesmo que eu queria. Muito obrigado! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para não abrir outro tópico, vou postar aqui outra dúvida sobre arrays aqui.

 

No resultado eu já consigo pegar a array linha por linha, saber quantas linhas vão vim.. enfim, agora meu problema é somar todas as linhas e guardar dentro de uma variável.

 

ps.: não sei quantas linhas serão retornadas no select, apenas quero somar todas.

 

Alguém sabe como fazer isso?

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.