Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida na impressão dos dados de um array


rocha_jl

Pergunta

Tenho um select que traz resultados de tabelas n para n. Imprimi o array e os dados estão ok. O problema é que eu só consigo visualizar o resultado completo se imprimir dentro do while e preciso utilizar o resultado fora dele.

O que tenho é isso:

<?php

$sql = mysql_query("select * from tabela ... ");

while($linha = mysql_fetch_array($sql)){

$descricao = $linha['descricao'];

$classificacao = $linha['classificacao'];

$categoria = $linha['categoria'];

}

?>

O produto pesquisado tem duas categorias. Se dou um echo dentro do while ele mostra as duas categorias do produto, mas se dou fora, mostra somente a última. Necessito mostras as duas, mas em outra parte do código, na realidade, dentro de uma <div> de um form. Como posso fazer isso?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Porque não coloca todos os resultados em um uma matriz?

<?php
$sql = mysql_query("select * from tabela ... ");
while($linha = mysql_fetch_array($sql)){
     $resultado[] = $linha;
}
?>

Assim, cada resultado será armazenado numa única variável.

Exemplo:

$resultado[0]['descricao']

$resultado[0]['classificacao']

$resultado[0]['categoria']

$resultado[1]['descricao']

$resultado[1]['classificacao']

$resultado[1]['categoria']

e assim sucessivamente...

O produto pesquisado tem duas categorias. Se dou um echo dentro do while ele mostra as duas categorias do produto, mas se dou fora, mostra somente a última.

Ele só vai mostrar a última porque da maneira como você vez, os resultados vão ficar se substituindo a cada iteração do while. Por isso que quanto espera-se mais de um resultado, o ideal é utilizar arrays e matrizes.

Link para o comentário
Compartilhar em outros sites

  • 0
Muito obrigado. Funcionou aqui. E para ajudar a quem tem dúvida, eu trouxe os dados desta forma:

<?php

for ($j = 0; $j < count($resultado); $j++){

print_r ($resultado[$j]['categoria']." ");

}

?>

Boa!

Uma outra maneira seria utilizando o foreach:

foreach($resultado as $res){
     echo $res['categoria'];
}

O foreach facilita bastante na hora de lidar com arrays multidimensionais. Com ele, para cada $j haveria uma iteração, e os valores dentro de $j podem ser acessados como se fosse um array de uma única dimensão.

Qualquer coisa tamo ae.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...