Você está na página 1de 21

Linguagem PHP, Mysql e funções de

CRUD

Apresentação
No desenvolvimento de sistemas, são utilizados diversos tipos de mecanismos, entre eles aqueles
responsáveis pela manipulação e armazenamento dos dados da aplicação. Esse tipo de módulo é
comumente conhecido como módulo de cadastro, ou CRUD, um acrônimo para Create (criar), Read
(ler), Update (atualizar) e Delete (apagar), ou seja, as quatro principais operações realizadas por um
sistema que trabalha com banco de dados.

A elaboração de um módulo CRUD em PHP pode parecer complicada, devido à quantidade de


arquivos que precisam ser elaborados, mas é preciso entender que a forma de confeccionar e
organizar os arquivos é que vai definir a facilidade de compreensão do código como um todo.

Nesta Unidade de Aprendizagem, você irá estudar as funções de CRUD, tais como ações de
gravação, exibição, exclusão e alteração de dados de um formulário em um banco de dados.
Bons estudos.

Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:

• Desenvolver a ação de gravar dados de um formulário em banco de dados.


• Programar a ação de exibir dados do banco de dados.
• Produzir a ação de excluir e alterar dados em banco de dados.
Infográfico
O CRUD é um módulo presente na maioria dos sistemas de computação, pois ele envolve as quatro
principais operações que podem ser feitas com registros em tabelas de bancos de dados, que são a
inclusão, a alteração, a consulta e a exclusão de dados.

A sua construção geralmente segue alguns passos comuns, como a construção das telas para
manipulação de cada grupo de dados ou a separação de funções comuns (como conexão com o
banco ou sessões de usuário).

Acompanhe, no Infográfico a seguir, um exemplo de segmentação de funcionalidades em arquivos


diversos e veja como integrá-los durante a execução da aplicação.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do livro
Praticamente todos os projetos que envolvem desenvolvimento de sistemas têm, pelo menos, um
módulo de CRUD, pois ele envolve as operações básicas utilizadas em um banco de dados. A
expressão CRUD diz respeito às iniciais em inglês dessas operações, e todas envolvem dados de
tabelas em bancos de dados: C = Create (inclusão), R = Read (consulta), U = Update (alteração) e D =
Delete (exclusão).

No capítulo Linguagem PHP, MySQL e funções de CRUD, base teórica desta Unidade de
Aprendizagem, você irá estudar as ações de gravação, exibição, exclusão e alteração de dados de
um formulário em um banco de dados.

Boa leitura.
DESENVOLVIMENTO
DE SISTEMAS
COM PHP
Jeanine dos Santos Barreto
Linguagem PHP, MySQL
e funções de CRUD
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:

„ Desenvolver ação de gravar dados de um formulário em banco de


dados.
„ Programar ação de exibir dados do banco de dados.
„ Produzir ação de excluir e alterar dados em banco de dados.

Introdução
Praticamente todos os projetos que envolvem desenvolvimento de siste-
mas possuem pelo menos um módulo de CRUD, sigla para Create, Read,
Update e Delete, ou em português Criação (inserção), Leitura (busca),
Atualização e Exclusão. Essas são as operações básicas utilizadas em um
banco de dados.
Estes módulos são basicamente representados por interfaces em
que o usuário pode interagir com os dados armazenados no banco.
Tais telas oferecem formulários com campos específicos que variam
de acordo com o objetivo e os dados que devem manipular.
Neste capítulo, você vai estudar as ações de gravação, exibição,
exclusão e alteração de dados de um formulário em um banco de
dados.

Gravar dados de um formulário em


banco de dados
O módulo CRUD, comumente chamado de módulo de cadastro, envolve as
ações de incluir, consultar, alterar e excluir dados de tabelas de bancos de
dados. A elaboração de um CRUD em PHP pode parecer complicada devido à
quantidade de arquivos que precisam ser elaborados, mas é preciso entender que
2 Linguagem PHP, MySQL e funções de CRUD

a forma de confeccionar e organizar os arquivos é que vai definir a facilidade


de compreensão do código como um todo. Quanto mais os arquivos forem
separados pela sua funcionalidade, melhor será o entendimento do programa
e do seu funcionamento (GOULARTE, 2016).
Para conhecer as ações de gravação de dados de formulário, vamos usar
como exemplo um banco de dados chamado ua10, contendo uma tabela “livros”,
que vai guardar o cadastro de livros de uma biblioteca. Essa tabela deverá
conter os campos apresentados a seguir.

„ Código do livro: chave principal da tabela, autoincrementado.


„ Título do livro: varchar de tamanho 50.
„ Código ISBN: char de tamanho 17.
„ Autor do livro: varchar de tamanho 50.
„ Nome da editora: varchar de tamanho 50.
„ Quantidade de páginas: inteiro.

O banco de dados ua10 e a tabela livros foram criados por meio da ferramenta phpMyA-
dmin, incluída no servidor XAMPP, utilizando o código SQL a seguir:
CREATE TABLE ′ua10′.′Livros′ ( ′cod _ livro′ INT NOT NULL
AUTO _ INCREMENT, ′titulo _ livro′ VARCHAR(50) NOT NULL, ′au-
tor _ livro′ VARCHAR(50) NOT NULL, ′cod _ isbn′ CHAR(17) NOT
NULL, ′nome _ editora′ VARCHAR(50) NOT NULL, ′qtd _ paginas′
INT NOT NULL, PRIMARY KEY (′cod _ livro′)) ENGINE = InnoDB;

Para começar o desenvolvimento de um módulo de cadastro, ou CRUD, é


preciso programar a primeira ação, que é a de inclusão de registros na tabela
do banco. Para isso, você deve criar um formulário para que o usuário possa
inserir dados que serão captados pelo sistema posteriormente. Os campos
desse formulário são basicamente os campos existentes na tabela na qual
será feito o cadastro, exceto o campo de código, pois ele é um campo de
autoincremento que não necessita de intervenção do usuário para ter um
valor armazenado.
O formulário de inclusão de registros será chamado de FORM_INCLUI.
PHP e terá o seguinte conteúdo:
Linguagem PHP, MySQL e funções de CRUD 3

Veja, na Figura 1, a aparência do formulário form_inclui.php.

Figura 1. Formulário para inclusão de livros.


4 Linguagem PHP, MySQL e funções de CRUD

Depois disso, é necessário criar um arquivo PHP para armazenar a conexão


com o MySQL via PHP data objects (PDO) (KHODKE, 2014). Nele, podem ser
armazenadas também outras funções, chamadas de outra parte do código do
programa, como validação de CPF, conversão de valores, conversão de datas,
cálculos, etc. Por causa disso, esse arquivo será chamado de FUNCOES.PHP.
Ele deverá ter o seguinte conteúdo:

Para armazenar as configurações do projeto, como as informações para


conexão com o banco de dados, é preciso criar um arquivo PHP, que será
chamado de outros locais do programa. Nesse arquivo, você poderá guardar
quaisquer configurações necessárias, como o modo de habilitar ou desabilitar
mensagens de erro e as constantes que serão usadas ao longo do código. Esse
arquivo será chamado de INICIA.PHP, e deverá ter o seguinte conteúdo:

Com o arquivo form_inclui.php, já ficam disponíveis na tela os locais em


que devem ser digitados os valores que serão recebidos pelos campos da tabela
do banco de dados, mas é importante lembrar que esse código HTML monta
apenas um formulário, mas ainda não faz a transferência das informações
para o banco de dados.
Nesse sentido, é necessário criar um outro arquivo, que será chamado de
INCLUI.PHP e será responsável por fazer efetivamente a gravação do registro
na tabela. Ele tem o seguinte conteúdo:
Linguagem PHP, MySQL e funções de CRUD 5

Analisando este código, você pode observar que, na linha 2, é feito um


include do arquivo inicia.php, para que ele traga as informações da conexão
com o banco de dados. Das linhas 4 a 8, variáveis recebem o resultado de uma
condição: se os valores do formulário existirem, as variáveis recebem esses
valores, caso contrário, recebem null. Isso evita que em partes posteriores do
programa ocorram erros por falta de inicialização das variáveis.
Das linhas 10 a 13 é feito um teste para todos os campos da tela e, se
algum deles for vazio, uma mensagem de erro é exibida. Na linha 15, é feita a
conexão com o banco de dados. Depois disso, uma variável recebe o resultado
da tentativa de inserção do registro novo na tabela do banco de dados, e cada
parâmetro recebe o que foi digitado no formulário de entrada de dados.
Das linhas 23 a 29 é feita a inclusão do registro: se ele tiver sido incluído
com sucesso, o fluxo do programa retorna para o arquivo form_inclui.php,
caso contrário, o sistema retorna uma mensagem de erro.
6 Linguagem PHP, MySQL e funções de CRUD

Exibir dados do banco


Em um módulo CRUD, normalmente a possibilidade de o usuário visualizar
os dados que já estão inseridos no banco de dados no momento da entrada
no sistema na tela principal é fornecida. É a tela inicial do sistema que
conterá ainda o nome do sistema e os botões com as opções de gravação,
alteração e exclusão de registros (ARRIGONI, c2018). Esse arquivo prin-
cipal receberá o nome de INDEX.PHP e, para esse exemplo, ele deverá ter
o seguinte conteúdo:
Linguagem PHP, MySQL e funções de CRUD 7

Analisando este código, você pode observar que, nas linhas 2 e 3, é feito um
include do arquivo inicia.php, para que ele traga as informações da conexão
com o banco de dados e, imediatamente, a conexão seja estabelecida.
Das linhas 15 a 19 são executadas duas consultas, uma para guardar o
total de registros da tabela e outra para guardar todos os registros da tabela.
Das linhas 21 a 48 é elaborada uma tabela em HTML contendo os registros
da tabela do banco de dados, caso o total de registros seja maior do que zero.
Nesse exemplo, o resultado da consulta foi guardado na variável $stmt, e o
comando fetch transfere esse resultado para um array, que pode ser exibido
em forma de tabela.
Como uma preparação para o aprendizado das ações de alteração e exclusão,
o trecho entre as linhas 42 e 43 formam a última coluna da tabela, que contém,
para cada registro, uma opção de alterar e excluir o registro corrente. O código
finaliza com uma contagem dos registros exibidos e com a mensagem de livros
não cadastrados, que será mostrada se a tabela estiver vazia.
Ao digitar o endereço http://localhost/ua10/index.php no navegador,
aparecerá a tela principal do sistema de cadastro de livros, que deverá ser
semelhante a demonstrada na Figura 2, dependendo da quantidade de registros
que já tiver sido inserida na tabela.
8 Linguagem PHP, MySQL e funções de CRUD

Figura 2. Tela principal do sistema de cadastro de livros.

É importante observar que o formulário form_inclui.php, responsável


pela ação de inclusão de registro, será chamado quando o usuário clicar em
Adicionar Livro na tela principal.

Excluir e alterar dados em banco de dados


As duas últimas ações de um módulo CRUD são a alteração e a exclusão de
registros gravados em uma tabela do banco de dados. Para começar a desen-
volver a ação de alteração, você deve criar um formulário que vai exibir os
dados que estão gravados no banco, para o registro que o usuário escolher
na tela principal index.php, clicando em um dos links Alterar da tabela de
livros cadastrados.
Para esse exemplo, o nome do arquivo é FORM_ALTERA.PHP, e tem o
seguinte conteúdo:
Linguagem PHP, MySQL e funções de CRUD 9

Logo no início do código, nas linhas 4 a 8, a variável $cod _ livro


recebe o código do livro correspondente ao registro escolhido pelo usuário
na tela index.php. Das linhas 10 a 19 é feita a conexão com o banco de dados
e a variável $stmt recebe o conteúdo do registro da tabela correspondente
ao livro escolhido. A variável $resultado forma um array com o conteúdo
do registro que, posteriormente, é exibido pelo código das linhas 21 a 44.
10 Linguagem PHP, MySQL e funções de CRUD

A Figura 3 apresenta a aparência do formulário form_altera.php.

Figura 3. Formulário para alteração de livros.

É importante lembrar que esse código monta apenas um formulário, mas


ainda não faz a transferência dos dados que devem ser alterados para o banco
de dados.
Nesse sentido, é necessário criar um outro arquivo, que será chamado
de ALTERA.PHP, e será responsável por fazer efetivamente a alteração do
registro na tabela. Ele tem o seguinte conteúdo:
Linguagem PHP, MySQL e funções de CRUD 11

Pela análise deste código, você pode observar que, no trecho entre as
linhas 3 a 9, as variáveis definidas pelo usuário recebem os valores que foram
digitados no formulário e, caso estejam em branco, recebem valor nulo. Dessa
vez, a variável cod _ livro é utilizada para armazenar o código do livro
correspondente à linha em que o usuário resolveu fazer a alteração.
Depois disso, no trecho entre as linhas 15 e 23 é feita a conexão do banco,
pela da chamada do método conecta _ bd(), e são passados os valores das
variáveis para os campos da tabela. Agora, em vez do comando Insert Into
do SQL, é utilizado o Update, pois o registro já existe e só deve ser feita uma
alteração no conteúdo dos campos.
Por fim, no trecho entre as linhas 24 e 30, é feita uma validação do momento
da alteração do registro para verificar se ocorreu com sucesso, caso contrário,
é exibida uma mensagem de erro.
Por sua vez, a ação de excluir registros de uma tabela do banco de dados
é relativamente mais simples, pois não necessita de um formulário auxiliar,
já que a ação é disparada assim que o usuário escolhe um dos registros na
tabela de livros cadastrados, exibida na tela principal do sistema (index.php)
e clica no link Excluir, como você pode observar na Figura 5.

Figura 4. Tabela que exibe os livros cadastrados – index.php.


12 Linguagem PHP, MySQL e funções de CRUD

Dessa forma, você deve criar um arquivo que, nesse exemplo, se chama
exclui.php, com o seguinte conteúdo:

Da mesma forma como na alteração de um registro, a linha 4 armazena


o código do livro que o usuário deseja excluir. A exclusão propriamente dita
acontece entre as linhas 10 e 14, quando é feita a conexão com o banco, e o
comando SQL DELETE FROM remove o registro da tabela.
Conforme a linha 43 do arquivo index.php, quando o usuário clicar no link
Excluir, surgirá a mensagem na tela representada na Figura 6, solicitando
a confirmação de exclusão do registro. Se o usuário clicar em Cancelar, o
programa retornará para a tela principal. Se ele clicar em OK, o registro será
excluído.

Figura 5. Mensagem de confirmação de exclusão.


Linguagem PHP, MySQL e funções de CRUD 13

Nesta unidade você aprendeu um pouco mais sobre os chamados módulos de


CRUD: um conjunto de diferentes estruturas (formulários interativos, funções
de controle e acesso a tabelas específicas da base de dados) desenvolvidas
especialmente para manipulação de um conjunto específico de dados. Você
também acompanhou a construção de um módulo completo, com as quatro
funções básicas representadas pela sigla CRUD (Create, Read, Update e
Delete) ̶ em português definidas como Criação (inserção), Leitura (busca),
Atualização e Exclusão ̶ , e conheceu as funções em PHP utilizadas para
efetuar tais operações.

ARRIGONI, R. CRUD com PHP PDO. Rio de Janeiro: DevMedia, c2018. Disponível em:
<https://www.devmedia.com.br/crud-com-php-pdo/28873>. Acesso em: 03 jan. 2018.
GOULARTE, C. CRUD com PHP, de forma simples e fácil. [S.l.]: Código Master, 2016.
Disponível em: <http://www.codigomaster.com.br/desenvolvimento/crud-com-
-php-de-forma-simples-e-facil>. Acesso em: 17 jan. 2018.
KHODKE, P. Simple PHP CRUD operations with MySQL. [S.l.]: Coding Cage, 2014. Disponível
em: <http://www.codingcage.com/2014/12/simple-php-crud-operations-with-mysql.
html>. Acesso em: 03 jan. 2018.
Dica do professor
As ações de um módulo CRUD estão presentes na grande maioria dos sistemas de computação, e
conhecer as operações de inclusão, alteração, exclusão e consulta se torna básico para que sejam
desenvolvidos sistemas mais complexos.

Acompanhe, na Dica do Professor, um pouco mais sobre a ação de exibir dados de um banco de
dados.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:

CRUD utilizando PHP (MySql, PDO e orientação a objetos)


Veja, neste link, de que forma você pode criar um cadastro de contatos e as quatro operações do
banco de dados em ação utilizando a classe PDO sem auxílio de framework.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

SQL – Comandos básicos (guia prático com CRUD)


Entenda, por meio da leitura do artigo, de que forma você pode criar uma base de dados com
tabelas e treinar a inserção de dados para posteriormente alterá-los ou excluí-los.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Create (insert) – CRUD genérico PHP PDO #3


Acompanhe, neste vídeo, um formulário criado com Bootstrap, em que foi utilizado o method POST,
em virtude de sua maior segurança, já que os dados pelo method GET são passados pela URL.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Você também pode gostar