Gerando QR Codes com PHP + MySQL + PHP QR Code

Olá, tudo bem!

Recentemente fui abordado com o seguinte questionamento, “é possível gerar QR Codes com PHP e MySQL”.

Minha resposta foi sim!

Bom, dito isso, a pessoa ao qual me fez essa pergunta relatou que estava tentando, porém sem sucesso.

A mesma está utilizando PHP + MySQL + PHP QR Code uma biblioteca que auxilia na construção das imagens.

Para poder auxiliar da melhor maneira, separei o problema em partes, sendo:

O Problema

Realizar consulta SQL em uma tabela no banco de dados, retornar os registros encontrados e com posse dos dados realizar a criação dos QR Codes.

Banco de dados

Para que possamos realizar este exemplo do post é necessário que realize o download do banco de dados de exemplo.

Crie o banco de dados ‘post_qr_code’.

Para importação do script que acabou de fazer o download, execute por meio do terminal o comando abaixo no mesmo diretório onde realizou o download, sendo:

O comando irá solicitar a senha de acesso ao banco de dados referente ao usuário ‘root’.

A estrutura é simples tendo apenas uma tabela chamada cadastro, onde a mesma contém duas colunas, sendo id e matrícula.

Não se preocupe com configuração nem nada disso, esse banco é o mais simples possível para podermos executar nossa tarefa.

Caso você deseje mais informações na tabela, basta fazer a modelagem e criação dos dados desejados, porém como mencionado esse não é o objetivo do post.

Biblioteca PHP QR Code

Essa biblioteca tem como objetivo auxiliar na construção de QR Codes, particularmente não conhecia a mesma e não me agradou muito, pelo simples fato de ter que fazer o download da ferramenta para utilizar.

Hoje em dia uma biblioteca que não se encontra no packagist eu não faço uso, pois com isso eu não poderia utilizar o composer para gerenciar essa dependência e hoje projeto que não usa composer é inviável de se manter.

Caso você desconheça o composer, tenho um post que ensina como inciar com composer.

E caso você tenha interesse, disponho de outro post que ensina a gerar QR Code de utilizando um componente que é instalado via composer.

Códigos PHP de implementação

Para realizar a implementação do código, devemos construir a estrutura de diretórios necessária, seguindo os seguintes passos:

  1. Crie o diretório “post_qr_code”
  2. Importe para dentro do diretório recém criado o download da bliblioteca PHP QR Code descompacte a mesma e remova o zip que não se faz mais necessário.
  3. Crie o arquivo index.php.

Após realização dos passos acima, sua estrutura deve ficar igual a demonstrada abaixo:

  • post_qr_code
    • phpqrcode
    • index.php

Nosso foco agora é no arquivo index.php, dito isso abra o mesmo no editor de sua preferencia, pois daremos inicio ao processo de codificação.

Nota: Para usar o PHP QR Code, o mesmo faz uso da extensão gd do PHP!

Vamos importar a biblioteca PHP QR code, veja abaixo o resultado.

Após importação, devemos realizar a conexão com o banco de dados, veja resultado abaixo:

Nota: NUNCA devemos realizar conexão com banco de dados diretamente no arquivo de implementação, estou fazendo isso para agilizar e simplificar o post, por favor siga todas as boas práticas de código e segurança!

Após conexão realizada, podemos executar a consulta dos dados na tabela ‘cadastro’.

Após consulta dos dados desejados, devemos realizar um laço de repetição para percorrer todos os dados encontrados e gerar nossos QR Codes.

Para executarmos nosso projeto, faremos uso do servidor embutido do PHP. Acesse a raiz do projeto e execute o seguinte comando, sendo:

Abra o navegador de sua preferência e insira a seguinte URL:

Após realizado o acesso, teremos o seguinte resultado.

Obtemos 10 imagens de QR Code referente a 10 registros contidos no banco de dados.

Nota: As imagens estão sendo armazenadas na raiz do projeto, porém nada impede que possa ser armazenadas onde desejar.

Espero que tenham apreciado e que o post tenha agregado valor.

Convido que deixem sua opinião, dúvidas e elogios nos comentários.

Grande abraço e sucesso nos projetos.

9 comentários sobre “Gerando QR Codes com PHP + MySQL + PHP QR Code”

  1. Diego Brocanelli, parabéns pelo EXCELENTE tutorial sobre QRcode com PHP + MySql. O melhor e raro artigo sobre o assunto que pude encontrar na internet. Realmente, bem explicativo e funcional. Nota 1.000 !

    1. Olá, Milennia.

      Fico feliz que tenha apreciado o conteúdo e que o mesmo tenha agregado valor para você.
      Por favor compartilhe com seus colegas e amigos para que possamos divulgar cada vez mais. 🙂

      Sucesso em seus projetos.

    1. Olá, Paulo Henrick.

      Fico feliz que tenha apreciado o post.

      Pelo que entendi vc quer armazenar informações de geolocalização, bom isso dependerá, por exemplo, nada impede de armazenar um link para o Google Maps, e ao sacanear o QR Code o leitor poderá abrir o link.

      Caso seja algo diferente, post um exemplo do que seria armazenado, para facilitar o entendimento.

      Grato pela atenção, sucesso em seus projetos.

    1. Olá, Wagner.

      Para realizar a leitura deve ser utilizado algum app para esta operação. Pois, após criação qualquer app pode ler os dados do QR Code.

      Com isso pode ser armazenado uma URL para acesso, com isso o app pode realizar a request.

  2. Bom dia Diego. Gostaria de saber como faço pra retornar todos os campos da minha tabela no banco de dados.

    1. Olá, Rômulo.
      Para retornar todos os campos de uma tabela do banco de dados temos dois métodos, sendo:
      1 – incluir ‘*’ na query indicando o retorno de todas as colunas. Exemplo: SELECT * FROM table_name;.
      2- Descrever coluna por coluna qua query string. Exemplo: SELECT column_01, column_02, column_03, column_04 FROM table_name;.
      Basta ir incluindo os nomes desejados.
      Espero ter lhe auxiliado, grande abraço e sucesso em seus projetos.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *