bcs_ptx 0 Denunciar post Postado Março 23, 2012 veja minha dúvida, gostaria de fazer isso quero simplesmente saber se o valor do dia anterior é maior ou menor que o do dia atual como faria isso no mysql? tipo tenho os campos: data_dia - que é a data de cada dia total_dia - valor total do dia Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 23, 2012 Acho que isto resolve select t1.total_dia , t2.total_dia from tabela t1,tabela t2 where t1.data_dia = currdate and t2.data_dia = SUBDATE(t1.data_dia, INTERVAL 1 DAY) Fonte Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Março 23, 2012 é mais ou menos isso que eu quero SELECT total_dia FROM tbl_teste_fat WHERE total_dia and data_dia = date(now()) -1 < total_dia and data_dia = date(now()) -2; total_dia ontem = 15 total_dia antiiontem = 20 como eu faço para fazer um if agora? if(total_dia ontem = 15 > total_dia antiiontem = 20){ echo 'em alta'; }else{ echo 'em baixa'; } ** nesse caso estaria em baixa Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 23, 2012 select t1.data_dia , t1.total_dia , t2.total_dia , (case when t1.total_dia < t2.total_dia then 'em alta' when t1.total_dia > t2.total_dia then 'em baixa' else 'estavel' end) situacao from tbl_teste_fat t1,tbl_teste_fat t2 where t1.data_dia = currdate and t2.data_dia = SUBDATE(t1.data_dia, INTERVAL 1 DAY) Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Março 23, 2012 deu o seguinte erro, Error Code : 1054 Coluna 'curdate' desconhecida em 'where clause' Execution Time : 00:00:00:000 Transfer Time : 00:00:00:000 Total Time : 00:00:00:000 cara eu tenho uma tabela só, nesse exemplo voce faz t1 e t2, por que? select t1.data_dia , t1.total_dia , t2.total_dia , (case when t1.total_dia < t2.total_dia then 'em alta' when t1.total_dia > t2.total_dia then 'em baixa' else 'estavel' end) situacao from tbl_teste_fat t1,tbl_teste_fat t2 where t1.data_dia = curdate and t2.data_dia = SUBDATE(t1.data_dia, INTERVAL 1 DAY); Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 23, 2012 currdate com dois "r" current date. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Março 23, 2012 select t1.data_dia , t1.total_dia , t2.total_dia , (case when t1.total_dia < t2.total_dia then 'em alta' when t1.total_dia > t2.total_dia then 'em baixa' else 'estavel' end) situacao from tbl_faturamento t1,tbl_faturamento t2 where t1.data_dia = currdate and t2.data_dia = SUBDATE(t1.data_dia, INTERVAL 1 DAY); deu na mesma cara Error Code : 1054 Coluna 'currdate' desconhecida em 'where clause' Execution Time : 00:00:00:000 Transfer Time : 00:00:00:000 Total Time : 00:00:00:000 Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 23, 2012 Ok, pelo manual é CURDATE() O problema é que não tenho MySql aqui ... :) Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Março 26, 2012 blza cara esta certo, mas como que eu passo isso para ler em minha pagina, fiz algo assim mas não da certo, e valeu pela ajuda ai. <?php $seleciona = "SELECT t1.data_dia , t1.total_dia , t2.total_dia , (CASE WHEN t1.total_dia > t2.total_dia THEN 'em alta' when t1.total_dia < t2.total_dia THEN 'em baixa' ELSE 'estavel' END) situacao FROM tbl_faturamento t1,tbl_faturamento t2 WHERE t1.data_dia = CURDATE() AND t2.data_dia = DATE_ADD(t1.data_dia, INTERVAL -1 DAY)"; $query_total = mysql_query($seleciona); while($dados = mysql_fetch_assoc($query_total)){ echo $dados['em alta']; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 26, 2012 Php não conheço, se ver na rua nem cumprimento ... :) Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Março 26, 2012 beleza cara eu consegui, mas tipo, como que eu faço para evitar os sabados e domingos? tipo hoje segunda dia 26, no meu script eu pego os valores de ontem e anteontem, que ai seria domingo e sabado, como não existe essas datas, teria que pegar de sexta e quinta, como que eu comparo ai? segue meu script correto agora, comparando o dia 25 e 24. <?php $seleciona = " SELECT t1.data_dia , t1.total_dia , t2.total_dia , ( CASE WHEN t1.total_dia > t2.total_dia THEN 'em alta' WHEN t1.total_dia < t2.total_dia THEN 'em baixa' ELSE 'estavel' END ) situacao FROM tbl_faturamento t1,tbl_faturamento t2 WHERE t1.data_dia = CURDATE() -1 AND t2.data_dia = DATE_ADD(t1.data_dia, INTERVAL -1 DAY)"; $query_total = mysql_query($seleciona); while($dados = mysql_fetch_assoc($query_total)){ if($dados['situacao'] == 'em alta'){ echo "<img src='../img/icon_positivo.png' title='Em Alta' />"; }else if($dados['situacao'] == 'em baixa'){ echo "<img src='../img/icon_negativo.png' title='Em Baixa' />"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 26, 2012 No #2 passei o link do manual, existem várias funções para manipular datas, uma delas DAYOFWEEK() retorna o dia da semana, junto a um CASE ou If dá para manipular o que se deseja. Compartilhar este post Link para o post Compartilhar em outros sites