Ir para conteúdo

Guilherme Luiz

Members
  • Total de itens

    446
  • Registro em

  • Última visita

  • Dias vencidos

    3

Tudo que Guilherme Luiz postou

  1. Guilherme Luiz

    PDF automático em tabela

    Da uma olhada nessa class http://www.fpdf.org/
  2. 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
  3. Guilherme Luiz

    Receber resultados de API externa em PHP

    Baseado no response da url o código que você tem funciona corretamente... o output array(1) { [0]=> array(1) { ["Resultado"]=> string(5) "Falso" } } Para trazer o valor de Resultado você acessaria da seguinte forma: echo $data[0]['Resultado'];
  4. 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);
  5. 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.
  6. 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.
  7. 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>
  8. 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
  9. 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
  10. Guilherme Luiz

    Erro ao tenta abrir .ini pela URL

    Mais fácil você entrar em contato com o suporte do servidor. Essa sua situação é extremamente "genérica"
  11. 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
  12. 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
  13. 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
  14. 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 ?>
  15. 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>
  16. 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?
  17. 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
  18. 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);
  19. 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
  20. 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.
  21. Guilherme Luiz

    link com caracteres estranhos

    Aparentemente foi problema de codificação... Eu iria na linha de renomear... colocaria em foreach o nome de todas as pastas e converteria os nomes para o formato correto e o mesmo faria no banco de dados via update. Agora o "problema" é saber que encode foi aplicado ai para poder fazer um encode em outro charset corretamente
  22. 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.
  23. 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; }
  24. 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
  25. 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
×

Informação importante

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