Ir para conteúdo

POWERED BY:

Arquivado

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

diegohamaz

Criar array com nome da coluna e resultado

Recommended Posts

galera eu tenho um select , que cria uma linha só com colunas repetidas e com resultados diferentes, como posso criar um array com o nome das colunas e seus resultados respectivos tentei algo do tipo, mas não deu.

 

while($sql = mysql_fetch_row($result)){
$resultado = $sql['produto'];
}
foreach ($resultado as $result) {
$elementos[] = $result;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem você quer colocar os dados da consulta em um array

 

tente usar mysql_fetch_assoc no while para percorrer as linhas resultantes da consulta.

 

Dando certo daí você já consegue exibir o resultado sem a necessidade de um array, se precisar do array do mesmo jeito, basta dentro do while você adiciona as informações nele

 

 

while($sql = mysql_fetch_assoc($result)){
    $resultado[] = $sql['produto'];
  }

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá e tenho colunas que se repetem e resultados que nao se repetem , coluna 1 e coluna 2 e gera uma tripa com varios resultados diferentes coluna 1 coluna 2 coluna 1 coluna 2 até o final da consulta.

dessa maneira que eu estava fazendo ele gera o array só que com o numero sequencial , aí nao consigo trabalhar depois com ele em outra parte.

 

QUERY

 

ruptura.png


while ($row = mysql_fetch_row($result))
{
$arr = array();
$final_array = array();
$arr = implode($row, ',');
$final_array = explode(',', $arr)

ARRAY

 

Array (

[0] => FAMÍLIA DOS COELHOS CHOCOLATES

[1] => 0%

[2] => FAMÍLIA DOS ESQUILOS NOZ

[3] => 100%

[4] => FAMÍLIA GATO DE SEDA

[5] => 0%

[6] => FAMÍLIA DOS RATOS BRANCO

[7] => 100%

[8] => FAMÍLIA URSO MARMELADA

[9] => 100%

[10] => FAMÍLIA DOS PORCOS-ESPINHO

[11] => 0%

)

 

 

o jeito mais certo que consegui, foi no script abaixo, porem ele trava no ultimo registro, e eu preciso que me traga todos ai me resolveria o problema.

 

 

$data=mysql_fetch_row($result);
if(!$data) return $data;
$fields=array();
$index=0;
$num_fields=mysql_num_fields($result);

while($index<$num_fields)
{
$meta=mysql_fetch_field($result, $index);
if(!$meta)
{
$fields[$index]=$index;
}
else
{
$fields[$index]='';
if(!empty($meta->table)) $fields[$index]=$meta->table.'.';
if(!empty($meta->name)) $fields[$index].=$meta->name; else $fields[$index].=$index;
}
$index++;
}
$assoc_data=array_combine($fields, $data);

 

ARRAY GERADO MAS COM 1 REGISTRO SÓ ACHO QUE DEVIDO SER UMA LINHA SÓ O RESULTADO, MAS POREM NA ESTRUTURA QUE EU DESEJO

 

 

Array (

[produto] => LANCHONETE DA ESCOLA

[ruptura] => 0%

)

 

O CERTO SERIA

 

 

 

Array (

[produto] => LANCHONETE DA ESCOLA

[ruptura] => 0%

[produto] => FAMÍLIA DOS ESQUILOS NOZ

[ruptura] => 100%

[produto] => FAMÍLIA GATO DE SEDA

[ruptura] => 0%
etc etc

)

 

agora espero ter sido claro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso repetido de 2 em 2 , vou usar esse array em um json e com indice é mais facil sem falar que quando eu gerar outra query ele ja me traz o indice, preciso fazer essa empreitada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode ter índices repetidos.

 

O que sugiro é:

 

seuarray =>

{

produto =>
{

[0] => LANCHONETE DA ESCOLA

[1] => FAMÍLIA DOS ESQUILOS NOZ

}

ruptura =>

{

[0] => 0%

[1] => 100%

}

}

 

Onde o índice 0 (zero) de um array está relacionado com o mesmo índice do outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse era o jeito facil de resolver , porem eu faço subquerys porque tem um monte de condições que vai na query e dessa maneira é melhor , do jeito que vc me falou da certo, gerar 2 array separado, acho q nao e muitooo complicado fazer ...

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.