Ir para conteúdo

POWERED BY:

Arquivado

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

Everson Gonçalves

[Resolvido] If

Recommended Posts

Boa tarde pessoal,

 

Seguinte, tem um script que pega alguns numeros do banco de dados, soma e exibe o resultado da soma, até ai tudo bem..

 

Agora Eu queria que se por exemplo o resultado da soma fosse menor que "100" ele exibisse uma determinada imagem se se fosse maior que "100" que ele exibisse outra imagem. Alguém pode me ajudar a fazer isso?? Segue abaixo o código da soma:

 

 

<?php require("include.php"); ?>


<?php 
	$codigo = $_GET['cod'];
	$visitas = mysql_query("UPDATE modelos SET visitas = visitas+1 WHERE id=$codigo;", $conn);

	$sql = mysql_query("select corpo, rosto from depoimentos where modelo=$codigo", $conn);

	$linha = mysql_fetch_array($sql);
	$corpo=$linha["corpo"];
	$rosto=$linha["rosto"];
	$id=$linha["id"];

	echo "" . ( $corpo + $rosto ) . "\n";

	?>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, você quer exibir de acordo com o valor da soma dos valores dos campos e não da quantidade, correto?

 

<?php

     $linha = mysql_fetch_array($sql);
     $corpo = $linha["corpo"];
     $rosto = $linha["rosto"];
     $id = $linha["id"];

    $resultado = ($corpo + $rosto)

    if($resultado < 100){
        //exibe a imagem de menor que 100

    } else {
       //exibe a imagem que for maior que 100

    }

?>

 

Acho que é isso que você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa amigo, lógica básica de programação:

if($valor < 50){
//faça algo
} else if($valor < 100){
//faça outra coisa
} else {
  //mais outra coisa...
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo Beto A., agora tenho outra duvida, e se eu quiser que apareça uma outra imagem se o valor da soma for por exemplo entre "50" e "100" como devo fazer..

 


if($valor > 100){
# instrução para maior que Cem
#101 ++

}else if($valor >= 50 && $valor <= 100){
#valor de 50 a 100

}else if($valor >=25 && $valor <= 49){
#valor entre 25 e 49

}else{
#valor que não seja maior que Cem, nem esteja entre 25 a 49 ou 50 a 100
#resumindo, neste caso aqui aparece de 24 pra baixo. :D

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

williansilva91

Repare na quantidade de verificações inúteis que o seu código faz:

if($valor > 100){
# instrução para maior que Cem
#101 ++
//se NÃO É MAIOR que 100, então É MENOR OU IGUAL a 100
}else if($valor >= 50 && $valor <= 100){
#valor de 50 a 100
//se NÃO É MAIOR OU IGUAL a 50, então É MENOR OU IGUAL a 49
}else if($valor >=25 && $valor <= 49){
#valor entre 25 e 49

}else{
#valor que não seja maior que Cem, nem esteja entre 25 a 49 ou 50 a 100
#resumindo, neste caso aqui aparece de 24 pra baixo. :D

}

Se isso for executado uma vez só, tudo bem, não dá nada, mas imagina isso se repetindo 1000 vezes. 10 mil vezes. 100 mil vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

williansilva91

Repare na quantidade de verificações inúteis que o seu código faz:

 

Se isso for executado uma vez só, tudo bem, não dá nada, mas imagina isso se repetindo 1000 vezes. 10 mil vezes. 100 mil vezes.

 

Uai cara,, achava que era sassim para colocar varias condicoes ao mesmo tempo.

Nao entedi, sério,, poderia me explciar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use estruturas de controle como o switch para evitar este monte de if

 

http://php.net/manual/en/control-structures.switch.php

Compartilhar este post


Link para o post
Compartilhar em outros sites
Uai cara,, achava que era sassim para colocar varias condicoes ao mesmo tempo.

Nao entedi, sério,, poderia me explciar?

O que eu quis dizer é que NÃO PRECISA DA SEGUNDA CONDIÇÃO naqueles else if's, pois as 3 condições que você está analisando são mutuamente exclusivas, ou seja, se vale para uma, não vale para as demais.

 

Vamos por partes:

if($num > 100){
	//se é maior que 100, faça algo
} else if($num > 50 && $num <= 100) {
//SENÃO, se o número for maior que 50 E menor ou igual a 100 faça outra coisa...
//Acontece que se a execução chegou aqui neste bloco, significa que $num COM CERTEZA é menor ou igual a 100, ou seja, não preciso verificar isso
}

 

Ou seja, esse código acima pode ser reescrito como:

if($num > 100){
	//se é maior que 100, faça algo
} else if($num > 50) {
//SENÃO, se o número for maior que 50 E menor ou igual a 100 faça outra coisa...
}

Que faz a mesma coisa, mas com uma condição a menos.

Quando temos uma expressão booleana com o operador && (and | e), precisamos que AMBAS AS CONDIÇÕES SEJAM VERDADEIRAS, ou seja, O INTERPRETADOR PRECISA EXECUTAR AS DUAS.

Mas porque executar duas se uma delas é sempre verdadeira?

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.