Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. Matheus Tavares

    [Resolvido] Somar dados recuperados de uma API

    Olá @biakelly Show demais! =D Sim, recomendo que você dê atenção a esse assunto, pois é realmente muito útil e não é tão difícil, mas que bom que conseguiu resolver com arquivos. Vou marcar aqui como resolvido. Até mais :)
  4. biakelly

    [Resolvido] Somar dados recuperados de uma API

    Oi @Matheus Tavares :D Andei estudando os links que passou e olha que felicidade: deu super certo!!!! Agora tenho um Supply total e um circulante total preciso e em tempo real :D. Estou tão feliz que daqui por diante vou usar mais o Guzzle, amei a facilidade dele!!!! Muito obrigada! Sobre o Cron, estou fazendo como arquivo mesmo, achei mais fácil do que instalar os plugins, até comecei mas não deu muito certo, porém não vou desistir pois se e mais performático certamente aprender instala-los será mais uma etapa de aprendizado e vou seguir seu conselho. Passei aqui só para dar o feedback e agradecer imensamente pela ajuda meu mestre hi hi !!
  5. magno barbosa

    Domínio bloqueado no antivírus

    Olá, o IP do seu servidor (186.202.153.101) foi incluso na lista negra UCEPROTECTL3, entre em contato com o provedor de hospedagem para resolver. Veja mais detalhes: https://sitecheck.sucuri.net/results/metalart.ind.br .
  6. Xicara

    Duvida excluir um valor do BD após 30 dias

    Show de bola consegui, muito obrigado a você e todos que tiraram um tempinho pra ajudar! Quando precisar estarei aqui novamente! ( Botão obrigado não funciona? )
  7. Estou tentando desenvolver um código para calcular o valor final de custas de imoveis. Exemplo: Entro com um valor de R$50.000,00. Tem o ITBI que é 2% sob os R$50.000,00 + o valor de custas que é o valor de uma tabela (essa tabela tem valores que de R$0,01 até R$17.800,90 é uma valor, e assim sucessivamente) Então teria que calcular os 2% (do valor informado) + o valor da tabela, dando um resultado final com o valor total (2%+ValorTabela). Alguem teria como me dar uma dica de como resolver isso? Desde já agradeço!
  8. Omar~

    Data e Hora PHP / JavaScript - O que está errado?

    Não entendi qual é a do PHP O que está acontecendo aparentemente é que Estão se somando por serem inteiros. Bom como esse script aí é muito zoneado, enxuguei ele aplicando as correções Coloque isso na header ou em qualquer arquivo .JS function startTime() { var data = new Date(), dia = data.getDate(), arrSemana = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'], arrMes = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; // Segunda, 14 de Junho de 2021, 19:05:23 txt.innerHTML = arrSemana[data.getDay()] // Segunda + ', ' + (dia < 10 ? '0' : '') + dia // 14 + ' de ' + arrMes[data.getMonth()] // de Junho + ' de ' + data.getFullYear() // de 2021 + ', ' + data.getHours() + ':' + data.getMinutes() + ':' + data.getSeconds(); // 19:05:23 } Então ao final da tag body chame o script com um intervalo ao invés de usar essa coisa grotesca que é onload no body. <script> var txt = document.getElementById('txt'); var tempo = setInterval(startTime, 1000); </script> Veja que o elemento que vai mostrar é definido fora do escopo da função. Porque veja bem, a função está continuamente se repetindo a cada 1 segundo... Se ele fosse buscado dentro da função a cada um segundo o javascript tem que varrer todo o documento em busca desse elemento então você perde em performasse.
  9. Omar~

    Duvida excluir um valor do BD após 30 dias

    UPDATE tabela_do_usuario SET indicacao_do_vip = 0 Atualize a tabela de usuário definindo a coluna que indica quando o usuário vip para zero (1 era usuário vip / 0 sem vip) WHERE indicacao_do_vip = 1 Quando a coluna que indique o vip for um (1) "Ou seja só usuários com vip serão alvos" AND (dias_vip IS NULL OR dias_vip < CURDATE()) E quando a coluna de contagem de dias for nula ou a data registrada for menor que a data atual Na verdade essa parte pode ser otimizada ficando só AND dias_vip < CURDATE() Não precisa pegar o valor nulo pois se é nulo nunca teve um vip registrado ^^ Então digamos que a data de término desse vip seja 2021-01-01 e no momento do login for 2021-01-02 (um único dia a mais) a tabela era atualizada. O que eu fazia para definir um vip era atualizar a coluna que registrava que aquele usuário era vip para 1 (um) e a data de término para x dias contando a partir dos dias aplicados exemplo: <?php $periodo = 5; /* Cinco dias */ $usuario = 99; /* ID da conta do usuário */ $query = " UPDATE tabela_do_usuario SET indicacao_do_vip = '1', dias_vip = DATE_ADD ( CURDATE(), INTERVAL {$periodo} DAY ) WHERE id_da_conta = '{$usuario}' "; Assim sendo se hoje era 2021-06-15 o término do vip seria 2021-06-20 então qualquer usuário que logasse no dia posterior involuntariamente atualizara o vip de todo mundo. Veja o script em linguagem C++ que fiz ao qual eu comandava IN-GAME a coisa toda, der uma olhada pode ser útil para que possa elaborar seu sistema aí, pois não se tratava só de adicionar ou remover vip e sim adicionar mais dias ou remover dias:
  10. Obg por responder, se puder poderia disponibilizar o código PHP utilizado
  11. Last week
  12. Boa noite, amigos. Estou tentando inserir data completa e hora, assim: Segunda, 14 de Junho de 2021, 19:05:23 Mas está saindo assim: 1, 1452021, 19:05:23. Segue meu código. Alguém poderia me ajudar a ver o que está errado? <script type="text/javascript"> function startTime() { var today=new Date(); var year=today.getYear(); if (year<2000) year += (year <1900) ? 1900 : 0 var day=today.getDay(); var month=today.getMonth(); var daym=today.getDate(); if (daym<10) daym="0"+daym var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"); var montharray=new Array("de Janeiro de ","de Fevereiro de ","de Março de ","de Abril de ","de Maio de ","de Junho de ","de Julho de ","de Agosto de ","de Setembro de ","de Outubro de ","de Novembro de ","de Dezembro de "); var h=today.getHours(); var m=today.getMinutes(); var s=today.getSeconds(); // adicione um zero na frente de números<10 m=checkTime(m); s=checkTime(s); document.getElementById('txt').innerHTML=day+","+daym+month+year+", "+h+":"+m+":"+s; t=setTimeout('startTime()',500); } function checkTime(i) { if (i<10) { i="0" + i; } return i; } </script> </head> </head> <body onload="startTime()"> <div id="txt"></div> </body>
  13. Xicara

    Duvida excluir um valor do BD após 30 dias

    Olá Omar, Que ótimo praticamente quase o mesmo sistema, então quando o jogador adquiria o vip você adicionava o level do vip e o total de dias? E esse comando faz com que atualize de todos os jogadores da tabela mesmo sem ele ter entrado no jogo? Bom de qualquer forma vou adicionar aqui e testar e pesquisar mais sobre o significado do comando eu não sei direito o que significa essa parte (dias_vip IS NULL OR dias_vip < CURDATE()). Por enquanto obrigado um sistema assim por comando é muito mais simples para executar junto com o jogo, obrigado!
  14. merovingio

    [Resolvido] Erro ao enviar form com PHP 8.0.6

    Muito obrigado. Preferi a ideia abaixo mesmo: $x->get = new \stdClass;
  15. Matheus Tavares

    Manipulação de Array

    Certo, entendi. Acredito que uma forma mais fácil de resolver isso seja com GROUP e COUNT através do seu banco de dados, se você estiver trabalhando com MariaDb/Mysql, PostgreSQL, por exemplo, mas desconsiderando essa opção, no PHP você poderia fazer assim: 1 - Pegue os dados da sua fonte. Você deve ter um array parecido com esse: $interacoes = [ [ 'funcionario' => 'Joao', 'empresa' => 'Google', ], [ 'funcionario' => 'Maria', 'empresa' => 'Face', ], [ 'funcionario' => 'Joao', 'empresa' => 'Padaria', ], [ 'funcionario' => 'Alfredo', 'empresa' => 'Google', ], [ 'funcionario' => 'Gilberto', 'empresa' => 'Google', ], [ 'funcionario' => 'Gilberto', 'empresa' => 'Google', ], [ 'funcionario' => 'Maria', 'empresa' => 'Face', ], [ 'funcionario' => 'Joao', 'empresa' => 'Google', ], [ 'funcionario' => 'Gilberto', 'empresa' => 'Google', ], [ 'funcionario' => 'Joao', 'empresa' => 'Google', ], ]; Daí se eu entendi direito, você quer contar as ocorrências de Funcionário X Empresa. Existem diversas formas de se fazer isso. Com orientação a objetos seria com certeza a mais intuitiva e menos frágil a confusões, outras formas seriam utilizando array_combine, array_values, array_keys, array_column e array_unique. Todas essas funções lhe poderiam ser úteis, e por isso reocomendo a leitura: https://www.php.net/manual/pt_BR/function.array-combine.php https://www.php.net/manual/pt_BR/function.array-column.php Com foreach manualmente acaba ficando mais performático, pois as funções que citei acima são basicamente foreach nativos, ou seja, você acabaria fazendo diversos loops para chegar à solução. Eu particularmente, apesar de gostar muito dessas ferramentas, tendo a evitá-las por essa razão. Bom, o próximo passo seria agrupar os usuários, as empresas e suas contagens, isso você pode fazer assim: $contadorInteracoes = []; foreach( $interacoes as $interacao ) { $funcionario = $interacao[ 'funcionario' ]; $empresa = $interacao[ 'empresa' ]; if ( !isset( $contadorInteracoes[ $funcionario ] ) ) $contadorInteracoes[ $funcionario ] = []; if ( !isset( $contadorInteracoes[ $funcionario ][ $empresa ] ) ) $contadorInteracoes[ $funcionario ][ $empresa ] = 0; ++$contadorInteracoes[ $funcionario ][ $empresa ]; } print_r( $contadorInteracoes ); Mas esse bando de isset está incomodando, né? Sem eles vamos ficar recebendo erros, pois não podemos atribuir uma chave enraizada de um array se ela não existe. Por sorte temos o recurso de atribuição por referência, que pode simplificar isso pra gente: $contadorInteracoes = []; foreach( $interacoes as $interacao ) { $funcionario = $interacao[ 'funcionario' ]; $empresa = $interacao[ 'empresa' ]; $contador =& $contadorInteracoes[ $funcionario ][ $empresa ];// atribuição por referência $contadorInteracoes[ $funcionario ][ $empresa ] = ++$contador; } print_r( $contadorInteracoes ); Veja mais detalhes sobre esse operador: https://www.php.net/manual/pt_BR/language.references.whatdo.php#language.references.whatdo.assign Essa técnica me permitiu a definição enraizada dos valores sem me preocupar com a existência deles, do contrário o código exigiria alguns operadores null coalescing, operadores Elvis, ifs, isset, empty ou algo assim, como no primeiro exemplo. Se ficar com dúvidas em relação a isso, eu posso me aprofundar um pouco mais. A saída desse exemplo seria essa: Array ( [Joao] => Array ( [Google] => 3 [Padaria] => 1 ) [Maria] => Array ( [Face] => 2 ) [Alfredo] => Array ( [Google] => 1 ) [Gilberto] => Array ( [Google] => 3 ) ) Espero que seja isso que você estava precisando :)
  16. Omar~

    Duvida excluir um valor do BD após 30 dias

    @Xicara Durante 8 anos anos fui administrador de um servidor de jogo online (Ragnarok Online), ao qual possuía sistema de conta vip. Para minha realidade eu simplesmente apliquei que quando o usuário logasse comparava a data atual com a data de seu início de vip. Sendo que a cada login a tabela se atualizava removendo o período de acordo com o dia em que ele logou. Exemplo: UPDATE tabela_do_usuario SET indicacao_do_vip = 0 WHERE indicacao_do_vip = 1 AND (dias_vip IS NULL OR dias_vip < CURDATE()) Então mesmo que não seja o usuário específico qualquer usuário que logasse atualizava os dias vip de todos usuários. Essa coluna de dia vip nada mais era que uma coluna date. Como disse esse conceito já era o suficiente para minha realidade. Porém você diz que quer a coisa automatizada, então não há outra forma a não ser usar uma tarefa CRON como o próprio @Matheus Tavares disse. São suas únicas alternativas ou atualiza a tabela pelo login seja o próprio usuário seja qualquer um ou usa um cron job. Ao invés de ficar tentando fazer gabiarras grotescas de código.
  17. thiagocarelli

    Manipulação de Array

    Matheus, o codigo que recebo é o array, cada indice do array tras uma interação com o cliente, porem existem diversos analistas que trabalham e atendem o mesmo cliente, o resultado na tabela tem que trazer quantos atendimentos cada funcionario fez para cada empresa ou seja.. FUNCIONARIO EMPRESA INTERACOES DESSE FUNCIONARIO COM ESSA EMPRESA JOAQUIM empresa 1 10 JOAQUIM empresa 2 10 JOAO empresa 1 10 PEDRO empresa 1 10
  18. Xicara

    Duvida excluir um valor do BD após 30 dias

    Olá Jack, Muito obrigado pela ajuda pode ter certeza que vai ajudar bastante, eu vou experimentar e ver o que dá !
  19. Xicara

    Duvida excluir um valor do BD após 30 dias

    Olá Matheus, O problema é que para o jogador jogar ele não acessa o login do site, então ele faz o cadastro e pode ficar até 5 dias sem fazer um login no site, minha ideia era que tivesse como o próprio site ir calculando a data e ir executando os comandos da database, mas muito obrigado pela a ajuda!
  20. Matheus Tavares

    Help - Como pegar array de um formulário e inserir no banco

    Olá amigo, tudo bem? Minha resposta faz exatamente isso. Veja: Estrutura do banco: Consulta (inserção múltipla): Como a tabela ficou após a consulta: Você precisa apenas adicionar as outras colunas na string da query. No meu exemplo inicial eu não sabia a estrutura das suas colunas, então fiz utilizando apenas a cidade_id, já nas fotos utilizei mais colunas, conforme seu código. Basta adaptar a primeira linha com $sql :)
  21. Matheus Tavares

    Manipulação de Array

    Olá amigo, tudo bem? Seja bem-vindo. Gostaria de ajudar você, mas infelizmente não entendi sua dúvida =/ Se puder dar alguns exemplos e postar um trecho relevante do seu código, seria melhor.
  22. thiagocarelli

    Manipulação de Array

    Bom dia pessoal, Estou travado em um array (imagem), a questão é que preciso criar uma tabela por empresa ( Organization Name ) onde contabilize empresa ++ sempre que o mesmo nome for citado em ( Organization Name ) porem ao mesmo tempo preciso contabilizar separado quando o atendente ( User Name ) seja diferente de outro atendente.. Exemplo.. 3 Interações - Google - João 1 Interações - Google - Joaquim 2 Interações - Ti Soft - Pedro 7 Interações - Exchange - João Consegui fazer o código que separava por organização mas ele perde o controle das interações por funcionários.. Array ( [success] => 1 [data] => Array ( [0] => Array ( [organization] => Array ( [name] => JOSDF ) [user] => Array ( [name] => Misael Joana ) ) [1] => Array ( [organization] => Array ( [name] => DKGFS ) [user] => Array ( [name] => Misael Joana ) ) ) )
  23. Obg por responder... Dessa forma que falou só vai inserir uma linha, já estou fazendo isso, o que eu gostaria de saber é como inserir todos os registros de acordo com os ids selecionados no select por exemplo Se seleciono apenas uma cidade então vai inserir um registro com o id selecionado Se seleciono 3 cidades então vou ter 3 ids e cada um deve ser inserido na tabela em uma nova linha Se seleciono 10 cidades então vai ter 10 ids inseridos um em cada nova linha tipo ta faltando pouco só não ta fluindo a ideia de como fazer <?php $ids = $dados['ofertaCidades']; foreach ($ids as $id) { $ofertaCidades->oferta_id = 666; $ofertaCidades->cidade_id = $id; $ofertaCidades->principal = 1; $ofertaCidades->salvar(); } ?> tentei usar foreach também com ele tudo bem eu pego todos os ids do select, mais na hora de salvar só salva uma linha, ou seja só o ultimo id, realmente ta faltando so a logica pra salvar linha por linha de acordo com a quantidade de ids do select
  24. biakelly

    Regra para mensagens de BOT Telegram com PHP

    Oi @Matheus Tavares :) Descobri o problema em um dos comandos, por algum motivo usar 400 caracteres em texto quando inicio a chamada do comando no Telegram e ele não responde, então reduzi para 200 caracteres e funcionou. Estranho pois ja vi comandos em outros bots que imprimem texto com mais de 400 caracteres. Enfim. rs Um dos comandos esta certinho, usei sua dica para para exibir o resultado da variavel. In loco funciona, mas no Telegram nem sinal de vida kkk ai ai. Bem, como só falta um comando, vou deixa-lo de lado por enquanto
  25. Jack Oliveira

    [Resolvido] Função para formatar URL

    Boa noite @Matheus Tavares obrigado..... Funcionou como precisava vlw mesmo....
  26. Matheus Tavares

    [Resolvido] Função para formatar URL

    Olá @Jack Oliveira, tudo bem? Vou lhe apresentar uma função bem legal do PHP, a parse_url: <?php $url1 = 'https://www.facebook.com/gilberto.gil'; $url2 = 'https://instagram.com/gilberto.gil/posts'; $url3 = 'https://twitter.com/gilberto.gil?parametro_qualquer=123'; $parsed_url1 = parse_url( $url1 ); $parsed_url2 = parse_url( $url2 ); $parsed_url3 = parse_url( $url3 ); print_r( $parsed_url1 ); print_r( $parsed_url2 ); print_r( $parsed_url3 ); Saída: Array ( [scheme] => https [host] => www.facebook.com [path] => /gilberto.gil ) Array ( [scheme] => https [host] => instagram.com [path] => /gilberto.gil/posts ) Array ( [scheme] => https [host] => twitter.com [path] => /gilberto.gil [query] => parametro_qualquer=123 ) Massa né? Bom, assim facilita bastante pra pegar o usuário. Basta pegar o path, retirar a primeira barra e cortar a partir da próxima barra. Algo assim: <?php function getSocialUser( $uri ) { $parsed = parse_url( $uri ); $path = $parsed[ 'path' ];// Usuário, mas com caracteres que devem ser filtrados $host = str_replace( 'www.', '', $parsed[ 'host' ] );// Retiramos o 'www.' $host_name = explode( '.', $host )[ 0 ];// Separamos por '.' e pegamos a primeira parte $allowed_hosts = [ 'twitter', 'facebook', 'instagram' ];// Hosts permitidos if ( !in_array( $host_name, $allowed_hosts ) ) return false;// Se não estiver entre os permitidos, retorne falso (ou exception) return strtok( ltrim( $path, '/' ), '/' );// retorna o usuário filtrado } $url1 = 'https://www.facebook.com/gilberto.gil'; $url2 = 'http://instagram.com/gilberto.gil/posts'; $url3 = 'https://twitter.com/gilberto.gil?parametro_qualquer=123'; $url4 = 'https://google.com/gilberto.gil?parametro_qualquer=123'; echo ( getSocialUser( $url1 ) ?: 'Inválido' ) . "\n"; echo ( getSocialUser( $url2 ) ?: 'Inválido' ) . "\n"; echo ( getSocialUser( $url3 ) ?: 'Inválido' ) . "\n"; echo ( getSocialUser( $url4 ) ?: 'Inválido' ) . "\n"; Saída: gilberto.gil gilberto.gil gilberto.gil Inválido Observe que os testes contemplam exemplos com http, https, parâmetros arbitrários, url com caminho excedente, com www e sem www. Veja esse código rodando: https://3v4l.org/Uib0j
  27. Jack Oliveira

    Duvida excluir um valor do BD após 30 dias

    Bom vou dar uma ideia talvez não seja a melhor. Mais tente da seguinte forma, ou seja conforme deseja fazer ai <?php $DataAtual = date('d/m/Y'); // Data Atual //$DataValida = date('d/m/Y', strtotime($dados['data_banco_de_dados'])); // Data do banco de dados $DataValida = date('d/m/Y', strtotime('2021-07-13')); // Data do banco de dados // transforma a data do formato BR para o formato americano, ANO-MES-DIA $DAtual = implode('-', array_reverse(explode('/', $DataAtual))); $DValida = implode('-', array_reverse(explode('/', $DataValida))); // converte as datas para o formato timestamp $DA = strtotime($DAtual); $DV = strtotime($DValida); // verifica a diferença em segundos entre as duas datas e divide pelo número de segundos que um dia possui $ResultadoFinal = ($DV - $DA) /86400; ?> <?php if ($ResultadoFinal != -1) { }else{ //Atualizar O Usuario /* Acredito que neste campo vip 1 a 5 seria os nivel certo? Onde esta o 17 seria o id do ususario */ // DBUpdate('usuarios', array('nivel' => '0'), "id = '{$id}'"); DBUpdate('usuarios', array('vip' => '1'), "id = '17'"); Redireciona('./index.php'); } ?> Espero ter ajudado
  28. Matheus Tavares

    Duvida excluir um valor do BD após 30 dias

    Bom, mas você não pode ser tão leigo, só precisa de um empurrãozinho, afinal de contas seu sistema já está funcionando e selecionando os usuários, atribuindo seus dados em sessões, certo? Ao menos que eu tenha entendido errado. Bom, nesse caso, poste o código que faz o login do usuário nesse momento. É basicamente a partir de modificações nele que podemos fazer o que você quer, e nisso nós podemos ajudar você.
  1. Load more activity
×

Important Information

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