Interação PHP - MySQL

Hoje iremos aprender como fazer a interação entre o PHP e o MySQL. Para isso vamos precisar que você tenha o conhecimento sobre o MySQL e um pouco de HTML, onde iremos ter que usar comandos SQL e para ficar um pouco mais dinâmico, iremos usar um formulário HTML para a inserção de dados.


Para iniciarmos precisaremos criar um banco de dados e uma tabela à qual iremos manipular. Caso não saiba fazer isso aconselhamos este outro post que ensina como fazer isso clicando aqui.

Iremos criar um banco de dados chamado "db_banco" e também uma tabela chamada "conta", essa tabela terá os seguintes campos: "id [tipo: int], nome_banco [tipo: varchar], agencia [tipo: int] e conta [tipo: int]". É uma tabela relativamente simples onde o objetivo deste post será incrementa-lá e exibi-lá.


Após criar ter feito esse processo de criação da tabela do banco de dados, nós iremos para o PHP. Iremos trabalhar com dois arquivos apenas para estética. O primeiro arquivo deverá se chamar "comunicacao.inc", ele será o responsável em liberá o acesso ao banco de dados.

Nesse arquivo você deverá abrir a tag de inicialização do PHP e fora isso, ele terá apenas duas linhas de comando.

$conexao = mysqli_connect("localhost","root","");
mysqli_select_db($conexao,"db_banco");

Vamos criar uma variavel chamada "$conexao" que receberá o necessário para que acessemos o banco de dados, que é onde o bando de dados se encontra, no nosso caso será o "localhost" após isso devemos informar o login para acessa-ló, que é normalmente é o "root" caso não tenha mudado o login e para finalizar informamos a senha, no meu caso eu não coloquei senha no banco de dados, então eu não informo, mas devo colocar as aspas. e o segundo comando pede as informações de conexão para selecionar o banco de dados a qual você irá trabalhar. Então como você salvou o resultado em uma variável, você informa a variável e logo após diz com que banco irá trabalhar. No nosso caso será o banco de dados "db_banco".

Finalizado essa parte iremos para o arquivo principal onde terá o formulário e os comandos SQL para inserção e consulta.

Para isso deveremos criar um outro arquivo, você poderá colocar o nome que desejar a nele. E para iniciarmos devemos incluir o arquivo anterior a esse e para isso devemos abrir a tag PHP e colocar o seguinte comando:

include "comunicacao.inc";

Isso nos diz que acabamos de incluir o arquivo "comunicacao.inc" no nosso arquivo principal, isso nos diz que nesse arquivo já estamos acessando o banco de dados "db_banco" e só necessitaríamos acrescentar os comandos SQL para fazer a comunicação com a tabela.

OBS: Não da para colocarmos comandos HTML dentro de TAG PHP e vice versa, então toda vez que formos colocar um comando HTML devemos fechar a tag de abertura do PHP. Exemplo veremos mais a frente.

Após colocarmos o "include" devemos fechar a tag de abertura do PHP. Após fechar vamos criar toda a estrutura basica do HTML, caso não saiba como la é, clique aqui para ir ao post em que fizemos a interação HTML - PHP.

Após isso deveremos criar um formulário onde iremos colocar os campos correspondente aos campos da tabela do banco de dados, a diferença é que não precisamos acrescentar o campo "ID" já que ele é AUTO_INCREMENT.

O formulário ficará da seguinte forma:


Repare que diferente do post sobre a interação HTML - PHP, nós possuímos um campo do tipo "reset" o que acontece é que ele é um botão e quando clicado ele limpa todas as caixas de texto presente do formulário.

Finalizado essa parte deveremos pegar todos os dados obtidos pelo formulário e colocar em variáveis para o gerenciamento no momento da inserção.

Pegaremos esses dados da seguinte forma:

$nome = $_POST['nomebanco'];
$agencia = $_POST['agencia'];
$conta = $_POST['conta'];

Como o comando de inserção é PHP devemos reabrir a tag PHP para essa inserção.

Após os dados armazenados nas variáveis, devemos inseri-las a tabela "conta" e o comando para inseri-los é o seguinte:

$sqlInsert = "insert into conta (nome_banco,agencia,conta) values ('$nome',$agencia,$conta)";
mysqli_query($conexao,$sqlInsert);

Você cria uma variável que deverá receber o comando de inserção e formar todos os parâmetros de acordo com a tabela do banco de dados.
O que devemos prestar atenção é o final da inserção é onde se encontra as variáveis que possuem os dados, nela você pode perceber que uma variavel está com aspas simples  e as outras duas não. Isso indica que a variavel nome recebe tanto letras quanto número então no banco p tipo dela é VARCHAR e as demais são inteiras já que só armazenam números.
Já o comando "mysqli_query" é responsavel em atribuir o comando de inserção, ele que faz com que o comando seja executado. Ele recebe a conexão que é o acesso ao banco de dados e o comando SQL.

Após isso o comando de inserção está pronto. Já conseguimos inserir na tabela do banco de dados. Após terminar esse comando, finalize a tag PHP.

Agora iremos imprimir na tela os dados que estão armazenados no banco de dados. Para isso iremos criar uma tabela HTML para que a visualização fique mais agradável.

Vamos criar uma tabela com um(1) de borda e logo em seguida iremos colocar uma linha que deverá contar o que iremos exibir na tela, no nosso caso será apenas o nome do banco, agencia e numero de conta.

Após isso iremos reabrir a tag PHP e iremos criar uma variavel chamada "$sqlSelect" essa variável irá receber o comando "select * from conta" do SQL que será responsável em trazer todos os dados que constam na tabela.
Logo após isso devemos criar outra variavel que se chamará "$resultado" e ela receberá o resultado da consulta que será retornado pelo comando "mysqli_query" onde devemos passar por parâmetro a conexão e o variavel "$sqlSelect" que armazena o comando.

E até o momento o código está da seguinte forma:


Já que temos o resultado armazenado na variável "$resultado" agora falta a impressão e para isso, já que poderá ser muitas dados, devemos utilizar de uma estrutura de repetição.

Iremos utilizar de um "while" onde ele irá ter uma variável "$linhas" que receberá o que deverá ser impresso no momento do LOOP. Como a variável "$resultado" se tornou um ARRAY deveremos utilizar a função "mysqli_fetch_assoc" onde ele irá retornar para "$linhas" uma linha associada ao ARRAY.

A estrutura do "while" ficará da seguinte forma:
while($linhas = mysqli_fetch_assoc($resultado)){
}
Com isso só precisamos adicionar a forma de impressão. Como estamos utilizando tabela iremos colocar da seguinte forma:


Devesse observar como é um ARRAY dentro dele eu tenho vários dados, e como estou retornando da tabela que possui os campos "id, nome_banco, agencia e conta" devo informar o que eu quero imprimir ta célula ta tabela utilizando o ECHO.
Observe também que utilizo comando PHP e HTML quase que ao mesmo tempo, então para cada comando PHP que utilizo devo abrir e fechar a tag PHP, um comando HTML nunca deve esta dentro de uma tag PHP.

Para fechar a chave do "while" como utilizei vários comando HTML eu tive que abrir depois tag PHP exclusivamente para a chave de fechamento.

Após isso devemos fechar a tag da tabela "table" e por fim abro mais uma tag PHP para encerrar a conexão com o banco, sempre que fizer consulta ao banco depois da consulta deverá encerra-lá. E para isso utilizamos o seguinte comando com o seguinte parâmetro:

mysqli_close($conexao);

Com isso pode-se observar que estamos fechando a conexão. E o código está finalizado, agora você pode está executando e vendo como será a inserção e impressão do banco de dados.

Os códigos completos ficaram da seguinte forma:



A execução do projeto ficará da seguinte forma:


Os arquivos trabalhados nesse post estão disponíveis clicando aqui.

E aqui finalizamos a parte de Interação PHP - MySQL. Todos os códigos PHP postados aqui, vocês podem coloca-los no seu servidor web e está executando para ver como será o retorno dos resultados. Continuem ligados no TURIMLAB para mais posts sobre PHP e tudo sobre tecnologia.

Dicas, sugestões e dúvidas podem colocar nos comentários!

0 comentários:

Postar um comentário