Ir para conteúdo

POWERED BY:

Arquivado

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

horácio

if else chato...

Recommended Posts

Bom dia a todos!!!

pessoal, to precisando lançar um if/else para depois chamar uma função...

olha o código aí:

 

 if( $codigo == "118")
  $teste="1";
  else
  $teste="2";
  
          
	              echo"	<div class='$classe'><li>";
	              //echo $row['vendedor']. " - R$". $row['minha_soma'];
			      //echo $row['vendedor']. " ----- R$".  number_format( $row['minha_soma'], 2, ',', '.');
			        $vendedor2 = str_replace("2010","",$row['vendedor']);
				    echo $vendedor2." - R$".  number_format( $row['minha_soma'], 2, ',', '.');
	                echo - $teste;
	                echo"</li></div>";
	                  
  $i++;
}

o que tem de errado? é o código em relação a estrutura??o que acontece??

muito obrigado a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O certo seria...

 

 if( $codigo == "118") {
 $teste="1";
 } else {
 $teste="2";


                     echo"     <div class='$classe'><li>";
                     //echo $row['vendedor']. " - R$". $row['minha_soma'];
                             //echo $row['vendedor']. " ----- R$".  number_format( $row['minha_soma'], 2, ',', '.');
                               $vendedor2 = str_replace("2010","",$row['vendedor']);
                                   echo $vendedor2." - R$".  number_format( $row['minha_soma'], 2, ',', '.');
                       echo - $teste;
                       echo"</li></div>";

 $i++;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa condição sua se entrar na primeira só atribui o "1" a variável $teste e num faz mais nada.

 

 

esse

echo - $teste;
muda pra isso

echo "- {$teste}";

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou fazendo assim...



$result = mysql_query($query) or die(mysql_error());
$i=0; $cor=null;
while($row = mysql_fetch_array($result))
{
  if( $i>=5 )
  $classe = 'vermelho';
   
  if( $i<5 )
  $classe = 'azul';	
  
  
  
 if( $codigo == "118") {$teste=='1';} else {$teste=='2';}
  
          
                      echo"     <div class='$classe'><li>";
                      //echo $row['vendedor']. " - R$". $row['minha_soma'];
                              //echo $row['vendedor']. " ----- R$".  number_format( $row['minha_soma'], 2, ',', '.');
                                $vendedor2 = str_replace("2010","",$row['vendedor']);
                                    echo $vendedor2." - R$".  number_format( $row['minha_soma'], 2, ',', '.');
                        echo - $teste;
                        echo"</li></div>";
                          
  $i++;
}
mysql_close ($db);
?>

e aínda, ou repete o resultado para todos, ou simplismente fica branco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, até que funciona, mas o problema é no trecho:

if( $codigo == "118") {$teste=='1';} else {$teste=='2';}
aqui ele agora não mostra nem o número...

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK...

 

== significa comparação.

= significa atribuição de valor a alguma coisa.

 

Você esta colocando teste como comparação.

 

Tenta assim:

 

if( $codigo == "118") {$teste='1';} else {$teste='2';}

Agora deve retornar algum valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, vamos lá...descobri 2 erros...

1° na verdade, o campo a ser comparado é "relacao" pois é nele que saberei o código do sujeito...

porém, também notei que a relação que ele me mostra é diferente mesmo, por isso não dá certo...resumindo, é algum pau na query...queria que visse o código e dessem uma olhada nessa query, pois tem algum "gato" nela...

$query = "SELECT DISTINCT  vendedor,codigo, relacao, nome, SUM( valor ) AS minha_soma
FROM controle_clientes WHERE mostrar='s' AND mes_dig='$mes_Atual' AND ano_dig='$ano_Atual' 

group by relacao ORDER BY minha_soma DESC"; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa query o que tipo de informação ele ta retornando???

 

Tenta colocar mais condição depois do WHERE, as vezes ta com pouca informação pra busca...Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, joguei essa query no phpmyadmin e funcionou direitinho...agora to desconfiado do código, mesmo....

eu vou postar o código pois agora a gente acha o erro!!!

ele tá chamando pelo codigo uma relação absurda(iconsorciofiat********)

nada a ver...pelo myadmin, ele retorna direitinho, ou seja a relação é 118, 120, 87, e tal...como tem que ser mesmo...

bom aí vai o código:



$query = "SELECT DISTINCT vendedor, codigo, relacao, nome, SUM( valor ) AS minha_soma
FROM controle_clientes
WHERE mes_dig = '05'
AND ano_dig = '2010'
AND mostrar = 's'
GROUP BY relacao
ORDER BY minha_soma DESC"; 

$result = mysql_query($query) or die(mysql_error());
$i=0; $cor=null;
while($row = mysql_fetch_array($result))
{
  if( $i>=5 )
  $classe = 'vermelho';
   
  if( $i<5 )
  $classe = 'azul';	
  
  if( $relacao == "118") {$teste='1';} else {$teste='2';}
                    echo"<div class='$classe'><li>";
	              	$vendedor2 = str_replace("2010","",$row['vendedor']);
					echo $vendedor2." - R$".  number_format( $row['minha_soma'], 2, ',', '.');
	                echo"</li></div>";
	                  
  $i++;
}
mysql_close ($db);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa query sua vai dá pau se tiver por exemplo dois nomes com o campo relacao igual pq você mandou agrupar

 

o group by agrupa campos agrupáveis como o valor que pode ser somado sum(valor)

ou então que você concatene os campos caso sejam string, mas eu n acho interessante concatenar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca o group by, coloca para agrupar pelo sum e ordena pela relacao.

 

Mas pow, se ta indo certo no MyAdmin deveria ir certo tmb ai no código ou pelomenos retornar algum erro de Mysql...

 

Outra coisa, defina um valor para $row. Coloca ele igual a zero.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

comente isso

{
 if( $i>=5 )
 $classe = 'vermelho';

 if( $i<5 )
 $classe = 'azul';     

 if( $relacao == "118") {$teste='1';} else {$teste='2';}
                   echo"<div class='$classe'><li>";
                       $vendedor2 = str_replace("2010","",$row['vendedor']);
                                       echo $vendedor2." - R$".  number_format( $row['minha_soma'], 2, ',', '.');
                       echo"</li></div>";

 $i++;
}

 

troque por isso

{
echo "<pre>";
var_dump($row);
echo "</pre>";
}

 

e poste o resultado

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.