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:
- Crie o diretório “post_qr_code”
- 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.
- 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.