horácio 0 Denunciar post Postado Maio 6, 2010 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
Will Fernando 2 Denunciar post Postado Maio 6, 2010 falto abrir o else :D { *chaves valww Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 6, 2010 o q você ker fazer???? não vejo nada de errado no if e else e onde você chama a função que utiliza essa variavel $teste???? Compartilhar este post Link para o post Compartilhar em outros sites
RafaelCps2 0 Denunciar post Postado Maio 6, 2010 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
Victor Cometti 8 Denunciar post Postado Maio 6, 2010 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
horácio 0 Denunciar post Postado Maio 6, 2010 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
visitante_xp 0 Denunciar post Postado Maio 6, 2010 Olha ainda num sei ainda oque ta errado. Teste o que ta sendo retornado no $row. Compartilhar este post Link para o post Compartilhar em outros sites
horácio 0 Denunciar post Postado Maio 6, 2010 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
visitante_xp 0 Denunciar post Postado Maio 6, 2010 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
horácio 0 Denunciar post Postado Maio 6, 2010 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
visitante_xp 0 Denunciar post Postado Maio 6, 2010 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... Compartilhar este post Link para o post Compartilhar em outros sites
horácio 0 Denunciar post Postado Maio 6, 2010 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
Victor Cometti 8 Denunciar post Postado Maio 7, 2010 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
visitante_xp 0 Denunciar post Postado Maio 7, 2010 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
Evandro Oliveira 331 Denunciar post Postado Maio 7, 2010 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