Ir para conteúdo

POWERED BY:

Guilherme Luiz

Members
  • Total de itens

    446
  • Registro em

  • Última visita

  • Dias vencidos

    3

Tudo que Guilherme Luiz postou

  1. Guilherme Luiz

    Confirmar cadastro pelo email - PDO

    Batendo o olho vejo que sua Query está errada. Me parece que ela era uma query de UPDATE e você simplesmente mudou o update para INSERT o $id $md5 não te resultam em nada porque sua query está errada e dado a isso ela gera um erro e o registro não é adicionado. Logo, sua variavel $md5 não tem o valor de $id para poder fazer o hash aplique sempre um bloco de if() ou try/catch quando executar $sql->query() para poder tratar possiveis erros de query. Veja: https://www.w3schools.com/php/php_mysql_insert.asp
  2. Guilherme Luiz

    Reduzir tamanho de texto

    Da uma olhada https://www.php.net/manual/pt_BR/function.substr.php $texto = "Este aqui é um texto muito longo que quero apresentar somente os 20 primeiros caracteres"; echo substr($texto, 0, 20);
  3. Guilherme Luiz

    Pq usa-se bindValue ao invés de usar a variável direto na instrução sql

    O que aprendi ha muitos anos quando comecei a trabalhar com o PHP que respondeu essa e a varias outras perguntas: Nunca confie em input recebidos Em outras palavra... sempre cheque e valide tudo que você receba a partir de input principalmente quando se tratar de queries em bancos de dados.
  4. Guilherme Luiz

    Gravando data no mysql

    O ideal para trabalhar com datas em banco de dados é sempre salvar em UTC e formatar a data no momento da visualização.
  5. Guilherme Luiz

    Como chamar procedure via PHP recebendo parametros de formulário html

    O seu HTML está fechando a tag </form> antes de todos os inputs. coloque a tag <form> fora das tags de <table> por exemplo: <form action="postar.php" method="post"> <table> <tr> <td> <input type="text" name="meuinput"> </td> </tr> <tr> <td> <button type="submit">Enviar</button> </td> </tr> </table> </form> Para que os campos sejam passados em POST ao script dados em ACTION é preciso que todos estejam dentro da tag <form>
  6. Guilherme Luiz

    Php e MySQL

    Qual a parte do problema? Onde está o código que pega os dados desse formulário e tenta atualizar o sql? Nos ajude a te ajudar rs
  7. Guilherme Luiz

    fazer function aceitar variável externa

    Você pode passar como parametro da function ou usar via closure/anonima dependendo da sua necessidade $corAtual = "azul"; function cores($cor) { return $cor; } echo cores($corAtual); ou então via closure/anonima: $corAtual = "azul"; $cores = function() use ($corAtual){ return $corAtual; }; echo $cores(); Recomendo a leitura: https://www.php.net/manual/pt_BR/language.functions.php
  8. Guilherme Luiz

    Url amigável

    Precisaria de algumas regras de htaccess basicamente. Veja esse tópico que pode ajudar: https://stackoverflow.com/questions/812571/how-to-create-friendly-url-in-php No forum se você buscar por url amigaveis com ctz terão outros posts com exemplos já prontos
  9. Guilherme Luiz

    Filtros com PHP, AJAX e MySQL

    Eu deixaria pra checar inputs no backend ao inves do JS. Cria um objeto com seus keys sendo cada um dos inputs do usuario por exemplo var filtro = { busca: $("#box-de-pesquisa").val(), quatros: $("#quartos").val(), bairro: $("#bairro").val() } Pelo Ajax você manda todo o objeto filtro: var dados = filtro $.post('buscador.php', dados, function(response.... No PHP você conseguiria acessar os dados do POST mais ou menos assim $busca = ((is_null($_POST['filtro']['busca'])) ? false : "and temos_de_busca = '{$_POST['filtro']['busca']'}"); $quartos = ((is_null($_POST['filtro']['quartos'])) ? false : "and quartos = '{$_POST['filtro']['quartos']'}"); ... E dai então você montaria a sua query mais ou menos assim $query = "SELECT * FROM imobiliaria WHERE {$busca} {$quartos}"; Assim você fará a sua query buscar por vários campos caso eles não venham como NULL do POST feito pelo AJAX OBS.: Não cuidei exatamente da tipagem e verificações porque a intenção era dar uma luz de como você consegue atingir o resultado
  10. Guilherme Luiz

    Problemas ao enviar anexo com PHPMailer

    veja se ajuda: https://stackoverflow.com/questions/11764156/send-file-attachment-from-form-using-phpmailer-and-php
  11. Guilherme Luiz

    Pegar parte de uma string

    Você pode aplicar um regex para capturar apenas os números <?php $string = "aquiVaiQualquerCoisa650000.12345"; $sonumeros = preg_replace("/\D/","",$string); #\d/ regex para manter somente números echo $sonumeros; #resultado > 65000012345 ?>
  12. Guilherme Luiz

    for ou foreach fora do select e que funcione

    Se a questão é ficar com o foreach desacoplado do html você pode colocar os options num array e então "implodar" eles dentro do select <?php $data = ["um","dois","tres","quatro"]; $options = []; foreach($data as $val){ $options[] = "<option value='{$val}'>{$val}</option>"; } ?> <html> <select> <?php $option = implode(",",$options); echo $option; ?> </select> </html>
  13. Guilherme Luiz

    Consulta por item em JSON

    Olá pessoal, Estou com uma pequena dúvida em relação a buscar dados em json no MySQL. No meu banco eu tenho uma table com o seguinte campo em json. table - contacts column - groups_id Na coluna groups_id eu armazeno ids de grupos em json por exemplo: ["252","222","666"] Quando eu realizo a seguinte query SELECT * FROM user_contacts WHERE JSON_CONTAINS(group_id, '["252"]') Beleza... Ele me resulta em todos os contatos que possuem o registro 252. O que acontece é que essa table é 1 > N, ou seja, um contato pode fazer parte de vários grupos, sendo assim: quando eu consulto SELECT * FROM user_contacts WHERE JSON_CONTAINS(group_id, '["252","222"]') Ele não me resulta nos contatos que estão com grupo 252 ou 222. Ele me resulta nos contatos que estão com o grupo 252 e 222, ou seja, ele me retorna somente os contatos que o group id tenha ["252","222"] Eu vi que nessa situação eu poderia criar um INDEX na minha tabela usando: ALTER TABLE user_contacts ADD INDEX groups ( (CAST(group_id->'$.groups' AS UNSIGNED ARRAY)) ); Mas o CAST() na versão que Mysqli que eu possuo no servidor 4.6.X me retorna Syntax error. Alguem teria uma sugestão ou luz de qual caminho posso seguir nessa situação sem que seja atualizando a versão do bd?
  14. Guilherme Luiz

    Consulta por item em JSON

    Pessoal, Agora sim consegui usando um pouco de regex antes de passar os parametros na query: $ids = []; foreach($data['ids'] as $id){ $ids[] = "([[:<:]]|^)".$id."([[:>:]]|$)"; } $ids = implode("|",$ids); $query = "SELECT * FROM user_contacts WHERE JSON_EXTRACT(group_id, '$') REGEXP '{$ids}'"; $sql = mysqli_query($connect_sql, $query); Se alguém tiver alguma outra forma de fazer o mesmo... Por favor, me de essa luz rs Abraço
  15. Guilherme Luiz

    [ RESOLVIDO ] Como utilizar dois critérios ao invés de uma para exibir lista ?

    Depende do seu cenário e do tipo de critério. Mas basicamente você pode usar o WHERE column IN ('criterio 1','criterio 2') $rst_pedidos=mysql_query("SELECT * FROM pedidos WHERE situacaopedido IN ('ENVIADO','PENDENTE','REPOSTADO') ORDER BY situacaopedido",$link);
  16. Guilherme Luiz

    Consulta por item em JSON

    Pessoal, Já consegui "resolver" a minha query com a seguinte consulta: SELECT * FROM user_contacts WHERE JSON_EXTRACT(group_id, '$') REGEXP '227|222' Dessa forma ele me resulta em todos os contatos que tenham um e outro ou somente um. Entretanto se eu buscar por um registro que contenha somente o número 2, ele me resulta em todos os registros com 2. De toda forma essa é a maneira que encontrei no momento. Se alguém tiver alguma outra forma de fazer o mesmo... Por favor, me de essa luz rs Vlw pessoal
  17. Guilherme Luiz

    Qual a melhor estrutura para um sistema administrativo e o site

    Hoje minhas aplicações são em PHP + AngularJS E nela sempre faço a API interna por PHP que recebe parametros em GET/POST/DELETE e os consumo com o AngularJS via $resource. A divisão faço exatamente como o @ExtremsX o recomendou que é a separação tanto dos views quanto dos controllers, etc por modulos Angular - /Controllers - /filters - /directives - /factories PHP - /API ----- /modulo 1 ----- /submodulo 1 ----- /modulo 2 ----- /submodulo 1 ----- /submodulo 2 Isso eu aplico tanto na hierarquia de pastas quanto de endpoints da api a serem consumidos, mas nesse caso não uso dominio para consumo, mas sim um routing interno que acredito que seja mais seguro. E isso se aplica perfeitamente a React também e o react tem a "vantagem" de com poucas alterações você consegue aproveitar o código no React Native para aplicações mobile.
  18. Guilherme Luiz

    Quanto cobrar mensalmente por upgrade + atendimento telefonico + atendimento on line

    Eu sou da seguinte opinião: Se você copiar de 1 é plagio. Se você copiar de vários é "inspiração" O que quero dizer com isso é que você poderia pesquisar diversas empresas que tem o mesmo produto que o seu e ver os modelos de pacotes e preços que eles cobram e adequar a sua realidade. Qual o maior canal de utilização do suporte? Por email? Por telefone? Por visita tecnica? Tempo médio de um suporte 1 hora? 2 horas? Como a sua equipe está treinada? Infelizmente existem momentos que temos que deixar certos clientes no "Vacuo" para atender outros que são prioritários. As vezes a equipe de suporte está treinada a ser super atenciosa com todos sem nenhum tipo de filtro e isso impacta no fluxo de atendimento. Como seus clientes foram "educados"? Pergunto isso porque existem clientes que vão ligar ou pedir suporte para perguntar se o seu sistema aceita arquivos PDF ou TXT enquanto que toda essa informação está facilitada na tela do sistema e o usuário simplesmente não leu. Se isso não for cortado, sempre irá acontecer Materiais de apoio, existem? Para sistemas é sempre ideal ter um manual escrito, vídeo instrutivo por módulos ou treinamento na implementação... Se você não tiver isso, com certeza você terá demandas por suporte de coisas simples. Sei que você busca rentabilizar mais sem perder clientes e com certeza se houver um material de apoio e um treinamento correto essa demanda poderá reduzir e você usar o atendimento como diferencial e não como um serviço a mais. Mas se a ideia é sempre cobrar por esse suporte eu recomendo você antes considerar esses itens que comentei e com isso você certamente terá a ideia de qual preço aplicar porque se você não tiver essa noção, ao cobrar que sejam R$ 2,00 a mais você poderá estar cobrando muito barato ou muito caro.
  19. Guilherme Luiz

    Numeração de protocolo sequencial

    De forma bem simplista eu pensaria em algo mais ou menos assim: <?php #código a ser utilizado antes de aidcionar o novo ticket de atendimento $sql = "SELECT atendimento FROM tabela WHERE id DESC limit 1..."; #aqui executo a query e pego o registro do atendimento via mysqli_fetch_assoc e então crio a funçãop $novoTicket = criarTicket($data['atendimento']); function criarTicket($ultimoTicket){ $ticket = explode("/",$ultimoTicket); #separo o num. do ticket com o ano em array $sequenciaTicket = $ticket[0]; #gravo na variavel o num. do ticket $anoTicket = $ticket[1]; #gravo na variavel o ano do ticket $anoAtual = date('Y'); #pego o ano atual /** * Aqui faço a verificação se o anoTicket é igual ao anoAtual, se for checo numero sequencial se não defino ticket como 1 * Se for eu faço uma segunda condição para ver se a sequenciaTicket é maior que zero * Se for maior que zero, somo o ticket atual + 1, caso seja menor então iniciamos a contagem em 1 **/ if($anoTicket == $anoAtual){ if($sequenciaTicket > 0){ $novoTicket = $sequenciaTicket + 1; } else { $novoTicket = 1; } } else { $novoTicket = 1; } return $novoTicket; }
  20. Guilherme Luiz

    Ajuda, Update de Legenda em upload de multiplas fotos?

    Vamos la... Porque não está alterando. $sql = "UPDATE tb_fotos_portfolio SET legenda=:legenda WHERE id='{$id}' and legenda='{$_POST['legenda'][$k]}'" Veja o WHERE... Nele está sendo explicito que é para atualizar a legenda onde (where) o registro em tb_fotos_portfolio seja igual a um ID e a uma Legenda. Escrevi um exemplo errado (inclusive está gritante o meu erro) e você deu CTRL + C e V e ta a 3 dias sem resolver, com certeza quebrando a cabeça pelo google rs O que você precisa fazer é atualizar a legenda WHERE (onde) o id da foto é correspondente Outra coisa é que sua execução do MySQL está misturada entre estruturada e PDO. Vale a referencia https://www.php.net/manual/pt_BR/pdostatement.execute.php
  21. Guilherme Luiz

    ajuda com mensagem whatsapp com PHP

    Porque você da dois echo window.open? Essa API do whatsapp se você for por em loop 20 mensagens distintas, significara 20 aberturas de janelas. O que recomendo ser feito é você por todo o conteúdo numa mensagem unica e então consumir a API
  22. Guilherme Luiz

    Ajuda, Update de Legenda em upload de multiplas fotos?

    Você fez a alteração no HTML? Aplique um var_dump em $_POST['legenda'] e $_POST['ids'] para ver que resultados ele tras...
  23. Guilherme Luiz

    Soma de array

    /* * inicio os arrays fora do loop para salvar valores */ $qtC = []; $vatual = []; while($dadosd = mysqli_fetch_array($resultadod)){ /* * Dentro do while armazeno os resultados nos arrays */ $qtC[] = $dadosd["qtC"]; $vatual[] = "https://api.hgbrasil.com/finance/stock_price?key=$chave&symbol=$acao["acao"]"; } /* * Somo todos os valores de cada um dos arrays */ $totalqtC = array_sum($qtC); $totalvatual = array_sum($vatual); /* * Multiplico os valores somados e então os imprimo */ $totalfinal = ($totalqtC * $totalvatual) echo $totalfinal; Isso seria basicamente o que você demonstra que procura supondo que para cada resultado do while o $vatual seja diferente baseado na sua ação. Sempre que você precisar salvar dados em array dentro de um loop, inicie a variavel fora do loop como array e então a aplique dentro do loop para que cada iteração seja armazenada numa chave do array.
  24. Guilherme Luiz

    retirar aspas e colchetes vindos de um select no banco de dados (dependente id)

    A coluna DEPENDENTES aparentemente foi salva como JSON no banco de dados e por isso você tem que dar um JSON_DECODE nesse campo na hora do fetch dessa coluna... Algo mais ou menos assim: $dependentes = json_decode($fetch['dependentes'], true); Dessa forma o output é um array que você poderá dar um foreach ou então acessar pelo key
  25. Guilherme Luiz

    API do Whatsapp enviar arquivos

    A partir dessa API publica não é possivel Você precisará da API Oficial do aplicativo que é fornecida por brokers de mensageria homologados pelos Facebook ou então buscar APIs de terceiros não oficiais... Da uma olhada no github que existem vários repositórios
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.