Ir para o conteúdo
JoaoVM

[Resolvido] Select Chamado a Condição

Mensagens Recomendadas

JoaoVM    5
JoaoVM

Boas malta, tenho uma duvida quanto a uma condição que me devolve sempre o primeiro valor, passo a explicar..

Cada valor destes da figura corresponde a um valor de uma variável que me dá o tempo de mão de obra de um colaborador em 8 horas diferentes, essa mão de obra vai ser inserido para calcular o PPH(Produção por Pessoa por Hora), o que pretendo é quando escolho o turno e a hora ele me vá buscar o tempo de mão de obra correspondente a hora que escolho..por exemplo se escolho a hora 3 ele devolve PPH=(produção/13.55)*60, mas ele insere sempre o primeiro, 0.00.

a2cr.pngr82g.png

Tentei de duas maneiras mas devolve sempre o primeiro valor que esteja na condição...

Por Switch:

//////////////////////
//SOLUCAO POR SWITCH//
//////////////////////  
switch (true){

  case ($_POST['turno'] = 'T1' && $_POST['hora'] = 1):
  $temp_m_obra=$f_t1_1['TEMPO_PERIODO'];
  break;

  case ($_POST['turno'] = 'T1' && $_POST['hora'] = 2):
  $temp_m_obra=$f_t1_2['TEMPO_PERIODO'];
  break;

  case ($_POST['turno'] = 'T1' && $_POST['hora'] = 3):
  $temp_m_obra=$f_t1_3['TEMPO_PERIODO'];
  break;

  case ($_POST['turno'] = 'T1' && $_POST['hora'] = 4):
  $temp_m_obra=$f_t1_4['TEMPO_PERIODO'];
  break;

  case ($_POST['turno'] = 'T1' && $_POST['hora'] = 5):
  $temp_m_obra=$f_t1_5['TEMPO_PERIODO'];
  break;
}
...

Por IF ElseIF

/////////////////////////
//SOLUCAO POR IF ELSEIF//
/////////////////////////
if ($_POST['turno'] = 'T1' && $_POST['hora'] = 1){

 $temp_m_obra=$f_t1_1['TEMPO_PERIODO'];
}
elseif($_POST['turno'] = 'T1' && $_POST['hora'] = 2){

    $temp_m_obra=$f_t1_2['TEMPO_PERIODO'];
}
elseif($_POST['turno'] = 'T1' && $_POST['hora'] = 3){

 $temp_m_obra=$f_t1_3['TEMPO_PERIODO'];
}
elseif($_POST['turno'] = 'T1' && $_POST['hora'] = 4){

 $temp_m_obra=$f_t1_4['TEMPO_PERIODO'];
}
elseif($_POST['turno'] = 'T1' && $_POST['hora'] = 5){

 $temp_m_obra=$f_t1_5['TEMPO_PERIODO'];
}

...

Editado por JoaoVM

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoVM    5
JoaoVM

são os que estão na imagem, que são calculados através de uma query que devolve esses valores...

$f_t1_1 = 0.000
$f_t1_2 = 0.000
$f_t1_3 = 13.550
$f_t1_4 = 180.000
$f_t1_5 = 12.950
$f_t1_6 = 0.000
$f_t1_7 = 0.000
$f_t1_8 = 0.000

Editado por JoaoVM

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pikax    159
pikax

nao seria melhor usar um array para isso?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HappyHippyHippo    1140
HappyHippyHippo

são os que estão na imagem, que são calculados através de uma query que devolve esses valores...

$f_t1_1 = 0.000
$f_t1_2 = 0.000
$f_t1_3 = 13.550
$f_t1_4 = 180.000
$f_t1_5 = 12.950
$f_t1_6 = 0.000
$f_t1_7 = 0.000
$f_t1_8 = 0.000

então o que é feito nas segunites instruções ?

$temp_m_obra=$f_t1_1['TEMPO_PERIODO']; // <-----------


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoVM    5
JoaoVM

atribui a variável temp_m_obra o valor de $f_t1_1...Se o valor inserido for o Turno 1 e na hora 1 entao atribui a variável temp_m_obra o valor de $f_t1_1, se for turno 1 na hora 2 entao atribui a variável temp_m_obra o valor de $f_t1_2...dependendo do valor inserido no turno e na hora...não tenho a certeza mas o problema pode estar ai..

Editado por JoaoVM

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoVM    5
JoaoVM

espera, peço desculpa expliquei-me mal...

//O VALOR 180 CORRESPONDE AO RESULTADO DA QUERY A UMA COLUNA QUE SE CHAMA "TEMPO_PERIODO", QUE NO PERIODO 4 É 180.
//quando falei em
$f_t1_4
//corresponde ao
$f_t1_4['TEMPO_PERIODO'];

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoVM    5
JoaoVM

Malta, desculpem lá a minha burrice e distração mas:

Tinha = em vez de ==....

if ($_POST['turno'] == 'T1' && $_POST['hora'] == '1'){

 $temp_m_obra=$f_t1_1['TEMPO_PERIODO'];
}
elseif($_POST['turno'] == 'T1' && $_POST['hora'] == '2'){

   $temp_m_obra=$f_t1_2['TEMPO_PERIODO'];
}
elseif($_POST['turno'] == 'T1' && $_POST['hora'] == '3'){

 $temp_m_obra=$f_t1_3['TEMPO_PERIODO'];
}
elseif($_POST['turno'] == 'T1' && $_POST['hora'] == '4'){

 $temp_m_obra=$f_t1_4['TEMPO_PERIODO'];
}
elseif($_POST['turno'] == 'T1' && $_POST['hora'] == '5'){

 $temp_m_obra=$f_t1_5['TEMPO_PERIODO'];
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pikax    159
pikax

nao poderia ficar assim:

$f_t1_['1'] = 0.000
$f_t1_['2'] = 0.000
$f_t1_['3'] = 13.550
$f_t1_['4'] = 180.000
$f_t1_['5'] = 12.950
$f_t1_['6'] = 0.000
$f_t1_['7'] = 0.000
$f_t1_['8'] = 0.000

if ($_POST['turno'] == 'T1'){

  $temp_m_obra=$f_t1_[$_POST['hora']];
}


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HappyHippyHippo    1140
HappyHippyHippo

nao poderia ficar assim:

$f_t1_['1'] = 0.000
$f_t1_['2'] = 0.000
$f_t1_['3'] = 13.550
$f_t1_['4'] = 180.000
$f_t1_['5'] = 12.950
$f_t1_['6'] = 0.000
$f_t1_['7'] = 0.000
$f_t1_['8'] = 0.000

if ($_POST['turno'] == 'T1'){

  $temp_m_obra=$f_t1_[$_POST['hora']];
}

se é para brincadeiras dessas :

$var = "f_".strtolower($_POST['turno'])."_".$_POST['hora']
$temp_m_obra = $$var;

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.