Jump to content
Fórum Script Brasil
  • 0

PHP dúvida


alessandro.albuquerque
 Share

Question

Prezados,

Alguém pode me ajudar pois não consigo definir a varíavel "$nosdb" para enviar pro BD.

    <?php
        @$nos = @$nosdp + @$nosc + @$nosi;
if (@$nos == 8){
    @$nosbd = 'Crítica';
echo "<font color='#F70909'>Crítica</font>";
}
elseif  (@$nos == 7){
    @$nosbd = 'Alta';
echo "<font color='#F74909'>Alta</font>";
}
elseif  (@$nos == 6 || 5 || 4){
    @$nosbd = 'Moderada';
echo "<font color='#FFCC00'>Moderada</font>";
}
elseif  (@$nos == 3 || 2 || 1){
    @$nosbd = 'Baixa';
echo "<font color='#009900'>Baixa</font>";
}
    ?>

 

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Olá! porque usar esse arroba antes das variáveis?

Nos || ou, você precisa reescrever a variável:

elseif  ($nos == 6 || $nos == 5 || $nos == 4){

Link to comment
Share on other sites

  • 0
24 minutos atrás, lowys disse:

Olá! porque usar esse arroba antes das variáveis?

Nos || ou, você precisa reescrever a variável:

elseif  ($nos == 6 || $nos == 5 || $nos == 4){

Oh meu caro o @ é para não exibir a mensagem de erro de consulta do banco de dados, caso alguma variável não tenha sido definida.
E s pipes os dois modos é correto.
O meu problema é que a varíavel $nosdb não ganha nenhum valor.
Eu quero que ela tenha os valores de acordo com os critérios sendo "1 ou 2 ou 3 para BAIXA; 4 ou 5 ou 6 para MODERADA; 7 para ALTA; 8 para MODERADA"

Link to comment
Share on other sites

  • 0

- A variável $nosdb, como você escreveu na sua pergunta, não existe (ao menos no código que você mostrou);

- Você tem que reescrever a variável sim, conforme já disseram. Apesar das duas formas funcionarem sem erros, o funcionamento e a lógica de if($x == 1 || 2) é diferente de if($x == 1 || $x == 2) (sendo o segundo, provavelmente o que você precisa);

- Pode ser que $nos tenha valor maior que 8 ou menor que 0. Você deveria adicionar um ELSE aí, para fazer este tratamento;

- Os @ que você colocou só vão te atrapalhar, pois são os ERROR/WARNING/NOTICE que ajudam a achar e corrigir problemas. Tanto que pode ser que esteja com algum problema aí nesse código, mas você não viu por ter ocultado as mensagens. O mais correto é no ambiente de desenvolvimento os erros estarem habilitados (para o programar ver as mensagens), e no ambiente de produção (servidor que os usuários utilizam) as mensagens estarem ocultas. Isso é feito habilitando/desabilitando a configuração display_errors (http://php.net/manual/pt_BR/errorfunc.configuration.php#ini.display-errors);

Link to comment
Share on other sites

  • 0
1 hora atrás, Stoma disse:

- A variável $nosdb, como você escreveu na sua pergunta, não existe (ao menos no código que você mostrou);

- Você tem que reescrever a variável sim, conforme já disseram. Apesar das duas formas funcionarem sem erros, o funcionamento e a lógica de if($x == 1 || 2) é diferente de if($x == 1 || $x == 2) (sendo o segundo, provavelmente o que você precisa);

- Pode ser que $nos tenha valor maior que 8 ou menor que 0. Você deveria adicionar um ELSE aí, para fazer este tratamento;

- Os @ que você colocou só vão te atrapalhar, pois são os ERROR/WARNING/NOTICE que ajudam a achar e corrigir problemas. Tanto que pode ser que esteja com algum problema aí nesse código, mas você não viu por ter ocultado as mensagens. O mais correto é no ambiente de desenvolvimento os erros estarem habilitados (para o programar ver as mensagens), e no ambiente de produção (servidor que os usuários utilizam) as mensagens estarem ocultas. Isso é feito habilitando/desabilitando a configuração display_errors (http://php.net/manual/pt_BR/errorfunc.configuration.php#ini.display-errors);

  

já tentei os dois modos e não define um valor. Lembrando que a variável "$nosc" e "$nosi" são consultadas no banco de dados. Tudo funciona normal, apenas a "$nosbd" não define.

 

$nos = $nosdp + $nosc + $nosi;
if ($nos == 8){
    $nosbd = 'Crítica';
echo "<font color='#F70909'>Crítica</font>";
}
elseif  ($nos == 7){
    $nosbd = 'Alta';
echo "<font color='#F74909'>Alta</font>";
}
elseif  ($nos == 6 || $nos == 5 || $nos == 4){
    $nosbd = 'Moderada';
echo "<font color='#FFCC00'>Moderada</font>";
}
else{
    $nosbd = 'Baixa';
echo "<font color='#009900'>Baixa</font>";
}

Link to comment
Share on other sites

  • 0
if ($nos == 8){
    $nosbd = 'Crítica';
echo "<font color='#F70909'>".$nosbd."</font>";
}
elseif  ($nos == 7){
    $nosbd = 'Alta';
echo "<font color='#F74909'>".$nosbd."</font>";
}
elseif  ($nos == 6 || $nos == 5 || $nos == 4){
    $nosbd = 'Moderada';
echo "<font color='#FFCC00'>".$nosbd."</font>";
}
elseif  ($nos == 3 || $nos == 2 || $nos == 1){
    $nosbd = 'Baixa';
echo "<font color='#009900'>".$nosbd."</font>";
}else{
	echo "Calculo com valor diferente do requisitado.";
}

Tenta assim mano, que tu já ver se o $nosbd ta dando algum retorno :)

Link to comment
Share on other sites

  • 0

Resolvido...

10 horas atrás, marlon255 disse:
if ($nos == 8){
    $nosbd = 'Crítica';
echo "<font color='#F70909'>".$nosbd."</font>";
}
elseif  ($nos == 7){
    $nosbd = 'Alta';
echo "<font color='#F74909'>".$nosbd."</font>";
}
elseif  ($nos == 6 || $nos == 5 || $nos == 4){
    $nosbd = 'Moderada';
echo "<font color='#FFCC00'>".$nosbd."</font>";
}
elseif  ($nos == 3 || $nos == 2 || $nos == 1){
    $nosbd = 'Baixa';
echo "<font color='#009900'>".$nosbd."</font>";
}else{
	echo "Calculo com valor diferente do requisitado.";
}

Tenta assim mano, que tu já ver se o $nosbd ta dando algum retorno :)

Obrigado!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...