Ir para conteúdo
Fórum Script Brasil

Julim

Membros
  • Total de itens

    20
  • Registro em

  • Última visita

Sobre Julim

Julim's Achievements

0

Reputação

  1. Não sei se é o modo correto, mas resolvi da forma mais "besta" possível. Deixo ai pra quem precisar de algo parecido. var dados = JSON.stringify(data); var obj = eval ("(" + dados + ")"); var x; for(x=0;x<=obj.parcelas[x].quantidade;x++){ $("select[name=parcela]").append("<option value='"+ obj.parcelas[x].quantidade +"'>"+ obj.parcelas[x].quantidade +" x " + float2moeda(obj.parcelas[x].valor) + "</option>"); } T+
  2. Olá pessoal, Tenho um script que me retorna um json, e gostaria de popular um combo com os dados. O script é o seguinte: retornoCalculoParcelamento = function(data) { alert(JSON.stringify(data)); }; O resultado é o seguinte: {"parcelas":[{"quantidade":"1","valor":"396.17","valor_total":"396.17"},{"quantidade":"2","valor":"198.09","valor_total":"396.17"},{"quantidade":"3","valor":"132.06","valor_total":"396.17"},{"quantidade":"4","valor":"99.04","valor_total":"396.17"},{"quantidade":"5","valor":"79.23","valor_total":"396.17"},{"quantidade":"6","valor":"66.03","valor_total":"396.17"},{"quantidade":"7","valor":"56.60","valor_total":"396.17"},{"quantidade":"8","valor":"49.52","valor_total":"396.17"},{"quantidade":"9","valor":"44.02","valor_total":"396.17"},{"quantidade":"10","valor":"39.62","valor_total":"396.17"}]} Eu gostaria de popular o combo da seguinte forma: <option value="">Quantidade - Valor</option> Alguém me ajuda?
  3. Segue o código com a solução: SELECT c1.*, DATE_FORMAT(c1.data_cad,'%d/%m/%Y') AS cadastro, DATE_FORMAT(c1.data_atualizacao,'%d/%m/%Y') AS atualizacao, DATE_FORMAT(c1.previsao_fechamento,'%d/%m/%Y') AS previsao, c2.r_razao_social, c3.p_nome, c4.c_razao_social FROM tb_projeto c1 LEFT JOIN tb_revenda c2 ON (c2.id_revenda=c1.id_revenda) LEFT JOIN tb_profissional c3 ON (c3.id_profissional=c1.id_profissional) LEFT JOIN tb_cliente c4 ON (c4.id_cliente=c1.id_cliente) WHERE DATE(c1.previsao_fechamento)>=DATE(NOW()) AND UNIX_TIMESTAMP(c1.previsao_fechamento) <= '".mktime(0,0,0,date('m') + 3,date('d'),date('Y'))."' AND YEAR(c1.previsao_fechamento)>=YEAR(NOW()) AND status < 9
  4. Pessoal, to quase lá. Só preciso resolver essa linha: AND c1.previsao_fechamento <= '".mktime(0,0,0,date('m') + 3,date('d'),date('Y'))."' Neste caso, me mostrará os registros entre a data do bd (c1.previsao_fechamento) enquanto ela for menor ou igual a tres meses para frente. Tomando como exemplo o mes atual, dezembro, a listagem mostra os registros de dezembro de 2012, janeiro e fevereiro de 2013. Para que eu faça a comparação, preciso usar mktime na data do banco c1.previsao_fechamento. Alguém saberia como me ajudar?
  5. Opa, desculpe ter postado no lugar errado.
  6. Bom dia pessoal, Estou com uma dificuldade em fazer uma comparação de data na consulta. Tenho no BD uma data no formato Y/m/d e preciso comparar com ela mesma, só que acrescida de três meses, mas não estou obtendo o resultado esperado. Segue o código: SELECT c1.*, DATE_FORMAT(c1.data_cad,'%d/%m/%Y') AS cadastro, DATE_FORMAT(c1.data_atualizacao,'%d/%m/%Y') AS atualizacao, DATE_FORMAT(c1.previsao_fechamento,'%d/%m/%Y') AS previsao, c2.r_razao_social, c3.p_nome, c4.c_razao_social FROM tb_projeto c1 LEFT JOIN tb_revenda c2 ON (c2.id_revenda=c1.id_revenda) LEFT JOIN tb_profissional c3 ON (c3.id_profissional=c1.id_profissional) LEFT JOIN tb_cliente c4 ON (c4.id_cliente=c1.id_cliente) WHERE MONTH(c1.previsao_fechamento)>=MONTH(NOW()) AND MONTH(c1.previsao_fechamento)< '".mktime(0,0,0,date('m') + 3,date('d'),date('Y'))."' AND YEAR(c1.previsao_fechamento)>=YEAR(NOW()) AND status < 9 Nas linhas 7, 8 e 9 é onde faço a comparação para que me mostre os registros deste mês em diante limitando a daqui três meses, ou seja, tem que mostrar os registros de dezembro, janeiro e fevereiro, mas só está listando os registros de dezembro. Alguém tem uma dica? Obrigado
  7. Julim

    Problemas com GROUP BY

    Olá Romero! Muito obrigado pela ajuda, era isso mesmo que eu precisava, mas não sabia exatamente como fazer. Muito obrigado mesmo! Grande abraço, Julio
  8. Julim

    Problemas com GROUP BY

    Bom dia foristas, Estou com um pequeno problema ao executar um select com group by. O select busca registros de três tabelas diferentes para montar os dados numa tabela comum. Os registros são apresentados da seguinte forma: ID PROJETO PRODUTO 1 PRODUTO 2 PRODUTO 3 VALOR TOTAL 12 teste 20 1200.00 12 teste 30 1200.00 Como pode se observar, quando faço o select, tenho IDs iguais devido a estrutura das tabelas e o modo como são gravados os dados. Quando uso o GROUP BY id, para agrupar os registros de IDs iguais, o select só me traz o primeiro registro deste ID. Eu preciso que o resultado venha assim: ID PROJETO PRODUTO 1 PRODUTO 2 PRODUTO 3 VALOR TOTAL 12 teste 20 30 1200.00 O select é o apresentado abaixo: SELECT c1.*, c1.id_projeto, DATE_FORMAT(c1.data_cad,'%d/%m/%Y') AS cadastro, DATE_FORMAT(c1.data_atualizacao,'%d/%m/%Y') AS atualizacao, DATE_FORMAT(c1.data_cad,'%d/%m/%Y') AS previsao_fechamento, c2.id_projeto, c2.id_produto, c2.quantidade, c3.id_produto, c3.titulo AS produto, c4.*, c5.id_profissional, c5.p_nome AS profissional, c6.id_revenda, c6.r_razao_social AS revenda FROM tb_projeto c1 LEFT JOIN tb_projeto_item c2 ON (c1.id_projeto=c2.id_projeto) LEFT JOIN tb_produto c3 ON (c3.id_produto=c2.id_produto) LEFT JOIN tb_cliente c4 ON (c4.id_cliente=c1.id_cliente) LEFT JOIN tb_profissional c5 ON (c5.id_profissional=c1.id_profissional) LEFT JOIN tb_revenda c6 ON (c6.id_revenda=c1.id_revenda) GROUP BY c1.id_projeto ORDER BY c1.id_projeto DESC Agradeço de coração qualquer ajuda.
  9. olá pessoal, estou com um problema no confirm do javascript, e gostaria da opinião dos colegas para me apontar o erro. na teoria, o que deveria acontecer é a chamada do ajax somente se clicado no botão ok para apagar o registro. Entretanto está apagando o registro mesmo clicando no botão cancelar. o código é o seguinte: function confirma(id){ decisao = confirm("Tem certeza?"); if (decisao){ $.ajax({ type: "POST", url: "content/sub/actions.php", data: "acao=remover&id="+id, success: function(msg){ alert("Removido com sucesso!"); parent.reload_main(); } }) }else{ alert ("Operação cancelada."); } }
  10. Julim

    AJUDA COM SELECT

    Por favor, me desculpe. Foi um descuido e não voltará a se repetir. A propósito, esse é o SEGUNDO tópico que posto, e não o terceiro. Pode, por gentileza, apagar esse tópico. Att. Júlio Como já resolvi sozinho, quero deixar a resposta para os usuários que fórum tirarem proveito quando for necessário. $sql = mysql_query(" SELECT SUM(valor_estimado), MONTH(data_cad) AS mes, YEAR(data_cad) AS ano FROM tb_projeto WHERE DATE(data_cad)>'".date('Y-m-d', strtotime('-365 day'))."' GROUP BY mes ORDER BY ano ASC ") or die (mysql_error()); while($row = mysql_fetch_array($sql)){ echo "['".$row[mes]."', ".$row[0]."], "; }
  11. Julim

    AJUDA COM SELECT

    Bom pessoal, estou com uma coisa me atrapalhando a um dia inteiro. Preciso fazer um SELECT que agrupe as datas por mes, e depois por ano. Tentei com um SELECT dentro de OUTRO. Agrupa os meses certinho, mas o ano não. Alguém pode me ajudar? Segue o código for($i=0;$i<count($meses);$i++){ $sql = mysql_query(" SELECT * FROM ( SELECT SUM(valor_estimado), data_cad FROM tb_projeto WHERE MONTH(data_cad)='".$meses[$i][0]."' GROUP BY MONTH(data_cad) // agrupando os meses ) AS tabela WHERE DATE(data_cad)>'".date('Y-m-d', strtotime('-365 day'))."' //pegando os resultados dos últimos 12 meses (24/08/2011 a 23/08/2012) GROUP BY YEAR(data_cad) // aqui tentei agrupar pelo ano ORDER BY YEAR(data_cad) ASC // e aqui ordenar pelo ano, do menor para o maior ") or die ("Erro nessa bagunça >> ".mysql_error()); $row = mysql_fetch_array($sql); if($row[0]){ echo "['".$meses[$i][1]."', ".$row[0]."], "; } } O resultado dessa query é o seguinte: ['Jun', 42750.5], ['Ago', 60425], ['Nov', 3200], Sendo os os meses de Jun e Ago são de 2012 e o mês de Nov é referente a 2011. O que eu preciso é mostrar esse resultado acima, da seguinte forma: ['Nov', 3200], ['Jun', 42750.5], ['Ago', 60425], Porque o mês de Nov é de 2011 e Jun e Ago de 2012. Please, help me!
  12. Julim

    [DUVIDA] Somar valores por mes

    RESOLVIDO Não consegui fazer a consulta transformando os valores gravados no bd no formato 11.111,11 para 11111.11, então mudei direto no banco e depois bastou usar o comando SUM. Não era o que eu queria, pois dessa forma terei que alterar muita coisa no projeto, mas tudo bem. Obrigado pela ajuda! $sql = mysql_query("SELECT SUM(valor_estimado), MONTH(data_cad) FROM tb_projeto WHERE YEAR(data_cad)=YEAR(NOW()) GROUP BY MONTH(data_cad)") or die ("Erro >> ".mysql_error()); while ($row = mysql_fetch_array($sql)){ print_r($row); }
  13. Julim

    [DUVIDA] Somar valores por mes

    Então, se eu usar o SUM, tenho que tratar os valores do BD e transformar 3.000,00 em 3000.00. Eu tenho uma função para isso, mas não sei como usar direto na query. Tipo: $sql = mysql_query("SELECT SUM(funcao_converte_decimal(valor_estimado)), MONTH(data_cad) FROM tb_projeto GROUP BY MONTH(data_cad)") or die ("Erro >> ".mysql_error()); Mas claro que assim não funciona. Se eu achasse uma forma de executar essa funcao_converte_decimal direto na query, resolveria o problema. Outra maneira seria o que você sugeriu e mudar a forma que gravo no BD os valores, gravando já no formato decimal. Só que eu queria evitar isso, pois esse projeto é uma atualização, e terei que transportar dados do bd antigo para esse novo, e neste caso, vai dar incompatibilidade com os formatos de moeda. Por isso eu usei um loop pegando os valores e somando a cada passagem, mas neste caso, só está pegando o primeiro registro de cada mês. Pensei em usar um for, mas também não sei como fazer isso.
  14. Julim

    [DUVIDA] Somar valores por mes

    To quae chegando lá. Descobri uma forma de somar os valores, porém só funciona se eu usar um WHERE data_cad=determinado mes. Se usar o GROUP BY, pega apenas o primeiro registro de cada mes. Mais alguém pode me dar uma orientação? Preciso da somatória de todos os registros de cada mes. Agradeço desde já //desta forma, pega todos os registros do mes 8 e vai somando os valores. Fica certinho, mas preciso de todos os meses, ai uso o GROUP BY no outro exemplo $sql = mysql_query("SELECT valor_estimado, MONTH(data_cad) FROM tb_projeto WHERE MONTH(data_cad)='8'") or die ("Erro >> ".mysql_error()); $total=0; while ($row = mysql_fetch_array($sql)){ $valor = $row[valor_estimado]; $total+=$valor; array_push($row, $total); //adiciono o valor na array echo "<pre>"; print_r($row); echo "</pre>"; } //desta forma, agrupa os meses mas só pega o primeiro registro de cada mes. $sql = mysql_query("SELECT valor_estimado, MONTH(data_cad) FROM tb_projeto GROUP BY MONTH(data_cad)") or die ("Erro >> ".mysql_error()); $total=0; while ($row = mysql_fetch_array($sql)){ $valor = $row[valor_estimado]; $total+=$valor; array_push($row, $total); //adiciono o valor na array echo "<pre>"; print_r($row); echo "</pre>"; }
×
×
  • Criar Novo...