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

criar array com variáveis


Guest marcia33

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0
Guest marcia33

OK ESerra

Dai como eu acesso esses dados?

tipo assim, print os dados

e depois como acessar o valor deles?

tipo: $array[1,'dado1'];

$array=array();

$array[] = $dado1;
$array[] = $dado2;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest marcia33

vou usar como nesse exemplo:

$j=0;
  $fase=0;
        while($j < $X){
          if (!in_array(gmdate("w",$DATA1),$noworkingdays)){
             $DATA1_t[$j]=$DATA1;
if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){
               $datay4 = $dado_fase[$fase]['pico'];}

onde $fase é um contador [indice]

Link para o comentário
Compartilhar em outros sites

  • 0
Guest marcia33

meu código é assim:

CODE

//cálculo da quantidade para jogar nos eixo y4 - estoque máximo

$ver="SELECT numrecurso,data_ini_fase,data_fim_fase FROM tab_fases WHERE nomeprojeto='".$nome."' AND numrecurso=".$material." ORDER BY data_ini_fase ASC";

$query=mysql_query($ver);

$numero=mysql_num_rows($query);

$i=0;

while($read=mysql_fetch_array($query)){

$dado_ini[$i]=$read['data_ini_fase'];

$dado_fim[$i]=$read['data_fim_fase'];

$sql5 = "SELECT picoestoque_fase FROM tab_fases WHERE nomeprojeto=".$nome."' AND numrecurso=".$material." AND data_ini_fase=".$dado_ini[$i];

$res6 = mysql_query($sql5,$db);

$resultado = mysql_fetch_array($res6);

$pico[$i]=$resultado['picoestoque_fase];

$dado_fase=array();

$dado_fase[$i] = $dado_fim[$i];

$dado_fase[$i] = $pico[$i];

print "dado_fase[$i]'[dado_fim[$i]']=.$dado_fase[$i]['dado_fim[$i]]."<br>";

$i++;

}

$j=0;

$fase=0;

while($j < $X){

if (!in_array(gmdate("w",$DATA1),$noworkingdays)){

$DATA1_t[$j]=$DATA1;

if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){

$datay4[$j] = $dado_fase[$fase]['dado_fim']; //pontos da linha de estoque máximo

}else{

$fase++;

continue;

}

$j++;

}

$DATA1 += 86400;

}

Onde primeiro faço uma query no banco de dados onde estará armazenado para um determinado material, uma data de inicio de fase, uma de fim de fase e o pico de estoque para aquela fase. Posso ter n fases, e sempre terei então o material, o inicio da fase, o final e o pico.

então vem o while pra ler pra cada material o valor de inicio e final. Na sequencia do mesmo while faço uma query no bd para capturar o pico de estoque da fase, tambem para cada material. então quando $i=0, capturei um valor de inicio de fase, um de fim de fase e um de pico de estoque do material pra aquela fase . Ok, agora preciso gerar um array com esses dados:

CODE

$dado_fase=array();

$dado_fase[$i] = $dado_fim[$i];

$dado_fase[$i] = $pico[$i];

O que acho que deve estar errado.

No outro looping o que faço é, a partir de uma data inicial que uso pra gerar um grafico, abrir o intervalo pra 30 dias, pois $X=30.

Em seguida testar se o cada dia é menor ou igual ao valor armazenado no array pra dado_fim (final da primeira fase), pra gerar os pontos de uma linha [$datay4] que traçará uma linha de pico de estoque máximo pra cada fase. Se o valor da data DATA1_t é maior que a data de fim de uma fase, vou pro else e incremento o contador fase. Infelizmente, da maneira que está no código, não tem funcionado. Necessito ajuda...

Para acessar....

echo $array['0];

echo $array['1'];

...

echo $array['n'];

Onde n é o último elemento, o bom do foreach é que faz automático...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest marcia33

o array ficou assim:

$dado_fase[$i]=array($dado_fim[$i],$pico[$i]);
usei um foreach pra ler o array e ele está correto. gera exatamente assim: dado_fim pico 1089072000 187 1103853600 147 pro caso onde eu tenha 2 fases o problema agora e usar o valor no if, pois vou ler pa partir do contador $fase
if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){
            $datay4[$j] = $dado_fase[$fase]['dado_fim'];
}

já que dessa maneira que estou tentando fazer não tem funcionado.

Alguém sabe me dizer como ? ou seja a sintaxe para o if, para ler os valores de dado_fim dentro do array ?

meu código é assim:

CODE

//cálculo da quantidade para jogar nos eixo y4 - estoque máximo

$ver="SELECT numrecurso,data_ini_fase,data_fim_fase FROM tab_fases WHERE nomeprojeto='".$nome."' AND numrecurso=".$material." ORDER BY data_ini_fase ASC";

$query=mysql_query($ver);

$numero=mysql_num_rows($query);

$i=0;

while($read=mysql_fetch_array($query)){

$dado_ini[$i]=$read['data_ini_fase'];

$dado_fim[$i]=$read['data_fim_fase'];

$sql5 = "SELECT picoestoque_fase FROM tab_fases WHERE nomeprojeto=".$nome."' AND numrecurso=".$material." AND data_ini_fase=".$dado_ini[$i];

$res6 = mysql_query($sql5,$db);

$resultado = mysql_fetch_array($res6);

$pico[$i]=$resultado['picoestoque_fase];

$dado_fase=array();

$dado_fase[$i] = $dado_fim[$i];

$dado_fase[$i] = $pico[$i];

print "dado_fase[$i]'[dado_fim[$i]']=.$dado_fase[$i]['dado_fim[$i]]."<br>";

$i++;

}

$j=0;

$fase=0;

while($j < $X){

if (!in_array(gmdate("w",$DATA1),$noworkingdays)){

$DATA1_t[$j]=$DATA1;

if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){

$datay4[$j] = $dado_fase[$fase]['dado_fim']; //pontos da linha de estoque máximo

}else{

$fase++;

continue;

}

$j++;

}

$DATA1 += 86400;

}

Onde primeiro faço uma query no banco de dados onde estará armazenado para um determinado material, uma data de inicio de fase, uma de fim de fase e o pico de estoque para aquela fase. Posso ter n fases, e sempre terei então o material, o inicio da fase, o final e o pico.

então vem o while pra ler pra cada material o valor de inicio e final. Na sequencia do mesmo while faço uma query no bd para capturar o pico de estoque da fase, tambem para cada material. então quando $i=0, capturei um valor de inicio de fase, um de fim de fase e um de pico de estoque do material pra aquela fase . Ok, agora preciso gerar um array com esses dados:

CODE

$dado_fase=array();

$dado_fase[$i] = $dado_fim[$i];

$dado_fase[$i] = $pico[$i];

O que acho que deve estar errado.

No outro looping o que faço é, a partir de uma data inicial que uso pra gerar um grafico, abrir o intervalo pra 30 dias, pois $X=30.

Em seguida testar se o cada dia é menor ou igual ao valor armazenado no array pra dado_fim (final da primeira fase), pra gerar os pontos de uma linha [$datay4] que traçará uma linha de pico de estoque máximo pra cada fase. Se o valor da data DATA1_t é maior que a data de fim de uma fase, vou pro else e incremento o contador fase. Infelizmente, da maneira que está no código, não tem funcionado. Necessito ajuda...

Para acessar....

echo $array['0];

echo $array['1'];

...

echo $array['n'];

Onde n é o último elemento, o bom do foreach é que faz automático...

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...