Jump to content

Luiz Henrique

Members
  • Content count

    2242
  • Joined

  • Last visited

Community Reputation

1 Comum

About Luiz Henrique

  • Birthday 12/30/1983

Informações Pessoais

  • Sexo
    Masculino
  1. Luiz Henrique

    Problema com herança de classes

    Opa, Então, não funcionou também, mas no fim mudei de private para protected e foi, se alguém precisar dei uma enxugada no code para ficar mais fácil de entender, segue: class Usuario { public $usuario; protected $senha; public function setSenha($senha) { $this->senha = md5($senha); } } class Admin extends Usuario { function __construct($usuario = null, $senha = null) { $this->setSenha($senha); $this->usuario = $usuario; } function getAdmin() { return "<b>Usuario:</b> <i>".$this->usuario."</i> <b>Senha:</b> <i>".$this->senha."</i><br>";; } } $admin = new Admin("admin","123456"); echo $admin->getAdmin(); Obrigado!
  2. Luiz Henrique

    Problema com herança de classes

    Olá pessoas. Segue code depois explico. class Usuario { public $email; private $senha; public function alteraSenha($senha) { $this->senha = md5($senha); } } class Cliente extends Usuario { public function __construct($email = null, $senha = null) { $this->email = $email; $this->senha = ($senha); } } $cliente = new Cliente("mail@mail.com","123456"); o retorno disso é: mail@mail.com / 123456. OK Porém preciso tratar a senha e passar pela função alteraSenha e já tentei: $cliente = new Cliente("mail@mail.com"); $cliente->alterSenha('12346'); Também assim dentro da classe Cliente: public function setSenha($senha) { parent::alteraSenha($senha); } Dentro do __construct: $this->senha = alteraSenha($senha); E em todas as opções, o retorno da senha fica vazio, não dá erro mas volta vazio. A única forma de funcionar é fazendo a declaração diferente: $cliente = new Cliente(); $cliente->email = "mail@mail"; $cliente->setSenha('12356'); Dessa forma funciona, mas eu queria a declaração da outra forma para otimizar linhas. O que estou fazendo errado. Obrigado
  3. Luiz Henrique

    Quando usar $(document).ready?

    obrigado
  4. Luiz Henrique

    Quando usar $(document).ready?

    Olá. Quando devo utilizar: $(document).ready(function(){ $(document).ready(function(){ $('#id').keyup(function(){ //consulta ajax }); }); Porém como exemplo, a função keyup entre consultas $.ajax({ funcionam fora do ready, só que utilizo tudo dentro do ready pois quando comecei a pesquisar ajax via jquery sempre vi dessa fora e desde então é padrão eu fazer assim, mas não sei o motivo e se é necessário. Alguém poderia esclarecer ou colocar um link que responda isso, pois não encontrei. Obrigado.
  5. Luiz Henrique

    executar function dentro de function

    Resolvi, É que a function pai carrega uma lista de ítens e dentro da função tenho um botão para remover registro, e eu estava usando assim: $("#remove").click(function(){... // pela ID e não estava funcionando, então mudei para $(".remove").click(function(){ // Pela CLASS e funcionou, não sei pq, mas resolveu. obrigado
  6. Luiz Henrique

    executar function dentro de function

    Olá, Existe alguma forma de executar a função dentro da mesma? EX: function pai(){ pai(); } Obrigado.
  7. 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.
  8. 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
  9. 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?
  10. 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
  11. 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 .
  12. 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.
  13. 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.
  14. 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
  15. 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.
×

Important Information

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