17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
CRUD com Bootstrap, PHP & MySQL – Parte V
Esta é uma série de tutoriais, na qual você vai aprender uma forma eficaz
de implementar um sistema de CRUD completo, usando o Bootstrap no
front-end e PHP com MySQL no back end.
Agora, neste tutorial, você vai ver como criar os arquivos e funções para
implementar a tela de visualização do cadastro de um cliente.
Ao final deste tutorial, você vai ter uma estrutura básica de visualização
de registros (também conhecida como detail view) para reaproveitar no
projeto, na qual o usuário vai poder ver todos os dados do cliente.
Aviso: Devido a outros projetos, vou adicionar as explicações de cada
código aos poucos, durante a semana.
Antes de Começar
Eu vou assumir que você já está com o seu ambiente de desenvolvimento
funcionando, e que já passou pelas partes anteriores desta série.
Se você ainda não estiver com o ambiente pronto, é só ver a introdução
desta série para instalar os pré-requisitos, e criar o BD.
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 1/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
Este tutorial é um pouco extenso, e tem alguns códigos mais complexos.
Separe um tempo para entender bem, e caso não entenda alguma parte, é
só perguntar nos comentários.
Passo 1: Revise a Consulta de Registros no BD
No tutorial de listagem do CRUD, você deve ter criado a função find() ,
no arquivo database.php.
Essa função faz a consulta de um registro, pelo ID, em uma tabela do
banco de dados.
Aqui, vamos reaproveitar essa função para implementar a tela de detalhes
do cliente.
Passo 2: Crie a Função de Visualização
Dentro do arquivo funcions.php , na pasta customers, implemente a
função que carrega os dados do cliente:
1 <?php
2
3 /**
4 * Visualização de um Cliente
5 */
6 function view($id = null) {
7 global $customer;
8 $customer = find('customers', $id);
9 }
functions.php hosted with ❤ by GitHub view raw
Essa função faz a busca na tabela clientes pelo ID que foi passado pela
requisição (através do parâmetro $id).
Depois, o resultado é guardado na variável $customer , que será acessada
na tela de visualização.
Passo 3: Crie a Tela de Visualização
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 2/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
Voltando na pasta “customers”, crie um arquivo chamado view.php.
Esse arquivo será a visualização em detalhes do registro, ou seja, a detail
view do nosso CRUD.
Implemente a marcação abaixo, nesse arquivo:
1 <?php
2 require_once('functions.php');
3 view($_GET['id']);
4 ?>
5
6 <?php include(HEADER_TEMPLATE); ?>
7
8 <h2>Cliente <?php echo $customer['id']; ?></h2>
9 <hr>
10
11 <?php if (!empty($_SESSION['message'])) : ?>
12 <div class="alert alert-<?php echo $_SESSION['type']; ?>"><?php e
13 <?php endif; ?>
14
15 <dl class="dl-horizontal">
16 <dt>Nome / Razão Social:</dt>
17 <dd><?php echo $customer['name']; ?></dd>
18
19 <dt>CPF / CNPJ:</dt>
20 <dd><?php echo $customer['cpf_cnpj']; ?></dd>
21
22 <dt>Data de Nascimento:</dt>
23 <dd><?php echo $customer['birthdate']; ?></dd>
24 </dl>
25
26 <dl class="dl-horizontal">
27 <dt>Endereço:</dt>
28 <dd><?php echo $customer['address']; ?></dd>
29
30 <dt>Bairro:</dt>
31 <dd><?php echo $customer['hood']; ?></dd>
32
33 <dt>CEP:</dt>
34 <dd><?php echo $customer['zip_code']; ?></dd>
35
36 <dt>Data de Cadastro:</dt>
37 <dd><?php echo $customer['created']; ?></dd>
38 </dl>
39
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 3/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
40 <dl class="dl-horizontal">
41 <dt>Cidade:</dt>
42 <dd><?php echo $customer['city']; ?></dd>
43
44 <dt>Telefone:</dt>
45 <dd><?php echo $customer['phone']; ?></dd>
46
47 <dt>Celular:</dt>
48 <dd><?php echo $customer['mobile']; ?></dd>
49
50 <dt>UF:</dt>
51 <dd><?php echo $customer['state']; ?></dd>
52
53 <dt>Inscrição Estadual:</dt>
54 <dd><?php echo $customer['ie']; ?></dd>
55 </dl>
56
57 <div id="actions" class="row">
58 <div class="col-md-12">
59 <a href="edit.php?id=<?php echo $customer['id']; ?>" class="btn
60 <a href="index.php" class="btn btn-default">Voltar</a>
61 </div>
62 </div>
63
64 <?php include(FOOTER_TEMPLATE); ?>
view.php hosted with ❤ by GitHub view raw
Você pode adicionar mais itens, se achar necessário.
Publicado por Ruan Carvalho
Ruan é especialista em Front-end e trabalha com Desenvolvimento Web desde 2007.
Ver todos os posts por Ruan Carvalho
Tutoriais
Bootstrap, CRUD, PHP
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 4/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
15 Comentários Web Dev Academy 🔒 Disqus' Privacy Policy
1 Entrar
Recomendar t Tweet f Compartilhar Ordenar por Mais votados
Participe da discussão...
FAZER LOGIN COM
OU REGISTRE-SE NO DISQUS ?
Nome
Fabiano Oliveira • 3 anos atrás
Parceiro Ruan Carvalho, como lhe agradecer cara!!!!!
Suas séries de aulas me ajudaram muito aqui, de verdade...
Agradeço por disponibilizar conhecimento e pela ajuda indiretamente.
Sucesso!!
△ ▽ • Responder • Compartilhar ›
Ruan Carvalho Mod > Fabiano Oliveira • 3 anos atrás
Valeu, Fabiano!!!
Fico feliz que tenha te ajudado.
Abs!
△ ▽ • Responder • Compartilhar ›
Ailton Souza • 3 anos atrás
esta acontecendo esse erro, alguem sabe o que pode ser?
△ ▽ • Responder • Compartilhar ›
Ailton Souza > Ailton Souza • 3 anos atrás
a linha 3 está assim no codigo
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 5/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
△ ▽ • Responder • Compartilhar ›
Ailton Souza > Ailton Souza • 3 anos atrás
funcionou , na verdade essa pagina so vai funcionar quando vc
clica em um dado para visualizar, pq ele vai pegar o id como
parametro, se ele nao tiver nenhum parametro ele vai dar esse
erro
△ ▽ • Responder • Compartilhar ›
Laiali Safa • 4 anos atrás
Oii, boa tarde. Primeiramente, obrigada por essas aulas, me abriu os olhos
pra uma forma de programar em php que eu não conhecia. Bom, estou presa
em um erro nessa parte da view, diz "Trying to get property of non-object", o
problema é que tenho esse objeto no banco de dados... A index está
funcionando normalmente com a listagem dos dados do banco, só na view
mesmo que a função find() não está funcionando. Já usei o print_r pra ver se
estava enviando o script correto, e está. Sabe me dizer o que pode ser?
△ ▽ • Responder • Compartilhar ›
Fabio Ozuna • 4 anos atrás
Olá Ruan boa noite. Consegui fazer tudo apenas com uma tabela
(customers). Mas não consegui inserir as informações em uma segunda
tabela, por exemplo a tabela suportes, Como informar os parâmetros para
esse segundo caso?
△ ▽ • Responder • Compartilhar ›
Jadson • 4 anos atrás
Olá Ruan,
Achei muito interessante suas explicações, vc está fazendo um ótimo
trabalho.
Mas estou com uma dúvida no momento de cadastrar e alterar deveria emitir
um alert sobre cadastro feito com sucesso. No meu não aparece. E gostaria
de saber se a possibilidade de fazer uma aula sobre como fazer uma
pesquisa por cpf e trazer todos os dados qe estão no banco para o novo
formulário. Obrigado
△ ▽ • Responder • Compartilhar ›
Paulo Henrique • 5 anos atrás
Para bens ótimo trabalho.
aqui esta tudo funcionando. porem gostaria de implementar pesquisar e
paginação.
pode indicar onde tenho que mexer
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 6/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
pode indicar onde tenho que mexer.
sou novo nessa área.
obrigado.
△ ▽ • Responder • Compartilhar ›
Danilo • 5 anos atrás
Boa noite,
Muito obrigado por esse tutorial, me ajudou muito! Tenho duas questões:
1. Existem dois "UF" nos dados dos clientes, isso foi algum erro ou a ideia é
essa mesma?
2. Você irá implementar a função de "excluir" futuramente?
Fico no aguardo, obrigado pelo bom trabalho!
△ ▽ • Responder • Compartilhar ›
Ruan Carvalho > Danilo • 5 anos atrás
Olá, Danilo...
1. É para ser apenas um campo "UF". Se tiver dois, deve ter sido
algum erro de digitação. Vou revisar aqui.
2. A exclusão é na Parte VI desses tutoriais
(http://webdevacademy.com.br...
Abs!
Ruan
△ ▽ • Responder • Compartilhar ›
Igor Federizi • 5 anos atrás
Bom dia Ruan,
Até agora indo quase tudo certo, mas não insere, não edita e não visualiza.
da uma força aí brother, kkk.
abs
Att,
Igor Federizi
△ ▽ • Responder • Compartilhar ›
Ruan Carvalho > Igor Federizi • 5 anos atrás
Olá Igor,
Você tem que revisar todo o seu código e tentar debugar para achar
onde está falhando.
Revise todo o database.php e o functions.php. Use a função
print_r($customer), ou print_r($customers), pra ver o que está
retornando nas variáveis.
E comente onde tiver header('...') para tirar o redirecionamento e ver
se exibe alguma mensagem.
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 7/8
17/09/2021 23:02 CRUD com Bootstrap, PHP & MySQL – Parte V - Web Dev Academy
se e be a gu a e sage
Debugar o código é a única forma. O tutorial está todo correto.
△ ▽ • Responder • Compartilhar ›
Felipe • 5 anos atrás
TAGS
Bootstrap CRUD Drupal HTML & CSS JavaScript jQuery PHP SQL Tooling
WordPress
MAIS ACESSADOS
» CRUD com Bootstrap, PHP & MySQL - Parte I
» Bootstrap: Criando Layouts e Grids
» Bootstrap 4: Como Começar
» Como Configurar um Servidor Local para Desenvolvimento Web
» Aprenda a Fazer um CRUD com Bootstrap, PHP & MySQL
ORGULHOSAMENTE FEITO COM WORDPRESS | TEMA: BASKERVILLE 2 POR ANDERS NOREN
ACIMA ↑
https://webdevacademy.com.br/tutoriais/crud-bootstrap-php-mysql-parte5/ 8/8