Jump to content

Luiz Henrique

Members
  • Content count

    2236
  • Joined

  • Last visited

Community Reputation

1 Comum

About Luiz Henrique

  • Birthday 12/30/1983

Informações Pessoais

  • Sexo
    Masculino
  1. Luiz Henrique

    success jquery

    Olá, Como posso utilizar o success com jquery? $.post('pagina.php',{valores...},function(data){ $('#result').html(data); var result = $(".class_div").text(); }); Depois da linha: var result = $(".class_div").text(); preciso executar uma outra requisição, porém se pagina.php já não tiver sido processada não funciona. tentei o code abaixo, mas não funciona, trava todo js. success: function(){ alert('executado'); } Obrigado.
  2. Luiz Henrique

    CASE WHEN

    Descobri o erro! Faltava inserir o LEFT JOIN, eu estava usando apenas JOIN, aí não exibia todos os registros somente aqueles que continham dados em todas as tabelas. vlw
  3. Luiz Henrique

    CASE WHEN

    Aliás, o que traz melhor desempenho? SUM(st.valor_servico*st.quantidade) Isso dentro da mesma sql como está ou uma function que será acionada a cada linha de resultado?
  4. Luiz Henrique

    CASE WHEN

    mantive uma function (sql secundário) para calcular o valor pago, subselect iria complicar demais. Como estou refazendo, estou procurando formas de enxugar o código e deixa-lo com melhor desempenho possível, e queria evitar essas consultas a parte, porque está cheio disso, exemplo: SUM(st.valor_servico*st.quantidade) isso acima já era uma function da forma que você sugeriu, mas consegui coloca-la na mesma sql, só não estou entendendo porque não estou conseguindo fazer a mesma coisa com o valor_pago. Mas obrigado
  5. Luiz Henrique

    CASE WHEN

    Sim preciso, É uma listagem diária de serviços que exibe o valor do mesmo e o quanto foi pago, ( para agilizar o atendimento e evitar ter que abrir a ordem de serviço para ver). Coloquei o Join porque não sei de outra forma de fazer a consulta de outra tabela sem ter que fazer um sql secundário para isso, quero que fique o mais rápido e prático possível .
  6. Luiz Henrique

    CASE WHEN

    Tenho uma consulta entre várias tabelas, e 2 das clausulas é soma. Essa funciona SUM(t3.valor_servico*t3.quantidade)... Com essa junta não. SUM(CASE WHEN tab1.codigo = tab2.codigo THEN tab2.valor END) AS valor_pago Tentei fazer igual a de cima mas não rolou, então li a respeito do CASE, e tentei isso acima. Ocorre que o sistema tem opção de efetuar vários pagamentos em datas diferentes até que o valor total seja quitado. No caso, tenho uma tabela para armazenar o valor pago(valor), quem pagou (codigo) entre outras coisas, denominada como tab2 e a tab1 com outras informações, e o codigo. Não sei se é possível, mas estou precisando que esses 2 SUM estejam na mesma consulta porque fiz a condição acima sozinha para teste e funciona, então não faço ideia do que ocorre. o sql inteiro é esse, e preciso somar a quantidade paga de cada ticket. $sql = mysqli_query($conexao, "SELECT *, SUM(st.valor_servico*st.quantidade) AS soma_servico FROM ticket t JOIN clientes c ON t.id_cliente = c.id_cliente JOIN servico_ticket st ON t.id_ticket = st.id_ticket JOIN status sts ON sts.id_status = t.status JOIN usuarios us ON us.id_user = t.atendente JOIN pagamento_ticket pgt WHERE t.id_loja ".$condLoja." AND ".$acao_status." GROUP BY t.id_ticket")or die (mysqli_error()); Obrigado.
  7. Luiz Henrique

    INNER JOIN duplicando resultados

    SUM(st.valor_servico*st_quantidade) Eu devia ter testado isso antes de postar, achava que o sum só somaria, que não seria possível fazer cálculos secundários dentro da função! Obrigado.
  8. Luiz Henrique

    INNER JOIN duplicando resultados

    Seria isso? CREATE TABLE IF NOT EXISTS `clientes` ( `id_cliente` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, PRIMARY KEY (`id_cliente`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `servico_ticket` ( `id_servico_ticket` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `id_ticket` int(11) UNSIGNED NOT NULL, `servico` varchar(255) NOT NULL, `valor_servico` decimal(10,2) NOT NULL, `quantidade` tinyint(11) UNSIGNED NOT NULL DEFAULT '1', PRIMARY KEY (`id_servico_ticket`) ) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `ticket` ( `id_ticket` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `ticket` int(11) NOT NULL, `id_cliente` int(11) NOT NULL, PRIMARY KEY (`id_ticket`) ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; Então consegui a soma do campo valor_servico, adicionando isso no select: SELECT *, SUM(st.valor_servico) AS soma_servico Ele faz a soma certo o problema é que é uma soma bruta, ignora a quantidade a ser multiplicada
  9. Luiz Henrique

    INNER JOIN duplicando resultados

    Olá, Não funcionou. Consegui resolver com o GROUP BY SELECT * FROM ticket t JOIN clientes c ON t.id_cliente = c.id_cliente JOIN servico_ticket st ON t.id_ticket = st.id_ticket GROUP BY t.id_ticket Porém, preciso tratar os dados e não sei como, ex: A tabela servico_ticket contém os serviços cadastrados de cada ticket, podem ser vários, e lá consta o tipo do serviço, valor unitário e quantidade, e preciso pegar isso multiplicar e somar com os demais serviços para obter o valor finale ser apresentado na listagem de tickets, ex servico_ticket: id: 1 ticket: 9999 valor_servico: 10.00 quantidade_servico: 2 id:2 ticket: 9999 valor_servico: 30.00 quantidade_servico: 1 Neste caso preciso multiplicar o 10*2 do id1 e somar com os 30 do id2, para apresentar na listagem, mas usando o group by só consigo o primeiro registro.
  10. Luiz Henrique

    INNER JOIN duplicando resultados

    Olá pessoas, Preciso fazer uma consulta em 3 tabelas, mas quando insiro a 3ª na consulta já duplica resultados: Tabela ticket id, id_cliente Tabela clientes id, nome Tabela servicos_ticket id, id_ticket, valor_ticket Aqui OK SELECT ticket.*, clientes.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id Mas aqui duplica, porque um ticket pode ter vários serviços cadastrados. ticket.*, clientes.*, servico_ticket.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id JOIN servico_ticket ON ticket.id = servico_ticket.id_ticket A listagem tem que ser apenas dos tickets cadastrados, tentei colocar DISTINCT ticket.* mas não adianta. o resultado deveria ser algo assim: 12344 luiz 10.00 12345 henrique 20.00 mas se o ticket do luiz tiver 3 serviços cadastrados 12344 luiz 10.00 12344 luiz 10.00 12344 luiz 10.00 12345 henrique 20.00 e deveria ser apenas 1, aí eu faria a soma dos valores 12344 luiz 30.00 Como elimino essa duplicação? Deu para entender? Obrigado.
  11. Luiz Henrique

    INNER JOIN duplicando resultados

    Olá pessoas, Preciso fazer uma consulta em 3 tabelas, mas quando insiro a 3ª na consulta já duplica resultados: Tabela ticket id, id_cliente Tabela clientes id, nome Tabela servicos_ticket id, id_ticket, valor_ticket Aqui OK SELECT ticket.*, clientes.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id Mas aqui duplica, porque um ticket pode ter vários serviços cadastrados. ticket.*, clientes.*, servico_ticket.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id JOIN servico_ticket ON ticket.id = servico_ticket.id_ticket A listagem tem que ser apenas dos tickets cadastrados, tentei colocar DISTINCT tickets.* mas não adianta. o resultado deveria ser algo assim: 12344 luiz 10.00 12345 henrique 20.00 mas se o ticket do luiz tiver 3 serviços cadastrados 12344 luiz 10.00 12344 luiz 10.00 12344 luiz 10.00 12345 henrique 20.00 e deveria ser apenas 1, aí eu faria a soma dos valores 12344 luiz 30.00 Como elimino essa duplicação? Deu para entender? Obrigado.
  12. Luiz Henrique

    Conexão MySQL

    Resolvido, usei a 3308 que é a do mysql a 3306 é mariadb. Obrigado.
  13. Luiz Henrique

    Conexão MySQL

    Olá pessoas, Instalei o WampServer e veio com MariaDB 10.4 e MySQL 5.7, não encontrei opção de não instalar/desativar o MariaDB então ficou os 2, aparentemente ambos estão rodando porém a conexão com o mysql não vai, o code que uso é esse: (sempre cai na falha de conexão) $conexao = mysqli_connect("localhost", "root", "", "banco"); if (mysqli_connect_error()) { echo "Falha na conexão com o servidor MySQL: " . mysqli_connect_error(); } else { echo 'Conexão Ok!'; } Tenho que fazer isso de forma diferente? Tentei criar o banco no MariaDB para testar mas não dá permissão de forma alguma, o que é estranho já que acabei de instalar. Aguardo. Obrigado
  14. Luiz Henrique

    Busca por iniciais (nome sobrenome)

    Então achei bastante conteúdo sobre isso, mas surgiram algumas complicações que fiquei com dúvida e antes de começar a mudar as coisas preciso saber de 2 questões: - Ele só funciona em MyIsam ou rola em InnoDB? Pois minhas tabelas são em InnoDB e tudo que encontrei fala somente sobre MyIsam. - Uso o phpMyAdmin e não tem a opção de adicionar o índice FULLTEXT isso é porque as tabelas são InnoDB ou é porque deve ser feita manualmente mesmo? Obrigado.
  15. Luiz Henrique

    Busca por iniciais (nome sobrenome)

    Olá pessoas, Preciso de uma busca no mysql pelas iniciais do nome e sobrenome ex: lui henr e eu receba o retorno de todos com nome luiz henrique, o que ocorre é que a tabela existe apenas o campo nome para nome e sobrenome, não são separados se fosse seria simples, é possível fazer essa busca fragmentada em um campo só? Obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.