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

PHP dúvida


alessandro.albuquerque

Pergunta

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 para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 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,3k
×
×
  • Criar Novo...