SlideShare uma empresa Scribd logo
1 de 24
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Conectando no Banco de Dados
Criando um Helper para nos auxiliar
Criado por: Raniere de Lima
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Conectando ao
Banco de Dados
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Hoje nós iremos começar a trabalhar no nosso sistema de um Mercado Online, e hoje
nós faremos as seguintes configurações:
• Criaremos a primeira view do sistema;
• Criaremos o nosso banco de dados e suas tabelas;
• Carregaremos dados em uma View;
• Conectaremos ao Banco de Dados;
• Listaremos nossos produtos;
• Criaremos um Helper para corrigir os preços;
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Nós já temos uma View em produtos chamada Index, então nós iremos apenas modificar
o seu conteúdo porém antes de fazermos isso. Vamos aprender como passar dados para uma
View antes.
Na função Index localizada em Produtos, crie 3 arrays uma chamada Pipa, outra chamada
Carro e a terceira chamada Chocolate.
Cada array deve conter os campos nome, descrição e preço.
“Mas cara, como eu crio uma array desse tipo em PHP?”
Para criar uma array em PHP é simples, utilizaremos a função nativa do PHP chamada array()
e dentro dela os campos com seus valores. Ex:
$pipa = array(“nome”=>”Pipa muito legal”, “descricao”=>”Uma pipa muito legal”,
”preco”=>4.5);
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Bem, sua tela deve ter ficado assim:
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Nós fizemos nossa array, só que, como falar que essa pipa, esse carrinho e esse chocolate
são nossos produtos. Para isso nós temos que criar outra array que tenha o nome Produtos,
e essa array deve conter todos os produtos criados anteriormente, no PHP para adicionar
valores em uma array utilizamos o array_push(), que é uma função nativa do PHP também.
Então no nosso caso ficará:
$produtos = array();
array_push($produtos, $pipa, $carro, $chocolate );
Mas eu ainda não consigo passar os dados, para a minha View para ter algo com valores
Fixos, vamos criar outra array chamada dados que receberá como parâmetro:
“produtos”=>$produtos, agora sim vamos passar nosso dados para a view. Então quando
carregamos nossa view passaremos nossos dados, então ficará:
$this->load->view(“produtos/index” , $dados);
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Agora que estamos recebendo alguns dados, vamos
exibi-los na nossa index, inicialmente criaremos uma
table, e depois colocaremos um foreach que receberá
como parâmetros $produtos e $produtos, cada
produto será uma tr e cada dado será uma td, ou seja
o nome, descrição e preço estarão em td.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
O seu código irá ficar mais ou menos assim:
Agora teste sua aplicação acessando a pasta de produtos
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
“Beleza”, agora nós sabemos como passar dados para uma view e criamos nossa
Primeira página do sistema, mas imagina se nós tivéssemos 500 produtos, ficar criando
array desta maneira não é muito legal, seria legal fazermos “programágicamente”
pegando estes dados do nosso Banco de Dados.
Mas espera, nós ainda não temos um banco de dados, então vamos cria-lo:
Crie um Banco de Dados chamado CodeIgniter, e dentro dele uma tabela chamada
produtos, que terá os campos nome, descrição e preço. (Sem acentuação é claro.)
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Agora que criamos o Banco de Dados, devemos configura-lo nosso projeto.
E para fazer isso, nós vamos na pasta Config e abriremos o arquivo chamado
database.php
Neste arquivo configuraremos nosso banco de dados, no final do arquivo terá as
configurações, informaremos apenas o hostname, database, username e password:
• Hostname = “Endereço do nosso Banco de Dados, no Windows é localhost,
no Linux e Mac é 127.0.0.1”;
• Database = “Nome do Banco de dados neste caso é CodeIgniter”;
• Username = “Nome do usuário do Banco de Dados neste caso é root”;
• Password = “Senha do usuário do Banco de dados, que por padrão é vazia”.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Das tarefas que tínhamos, nos já fizemos:
• Criaremos a primeira View do sistema;
• Criaremos o nosso banco de dados e suas tabelas;
• Carregaremos dados em uma View;
• Conectaremos ao Banco de Dados;
• Listaremos nossos produtos;
• Criaremos um Helper para corrigir os preços;
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Nós já estamos listando nossos produtos, só que de uma maneira bem feia, vamos fazer
uma listagem melhor “programágicamente”, como vimos o conceito de MVC ou
Model-View-Controller, é que no View fica toda a parte visual para o cliente, no Controller
faz a comunicação entre o Model e a View podendo ou não passar dados, e no Model é
aonde criamos funções para a persistência de dados.
Já fizemos nosso view e nosso controller, então vamos criar nosso primeiro Model,
para isso vá na pasta Model e crie um arquivo chamada produtos_model.php, que terá uma
Classe chamada Produtos_mode e extenderá de CI_Model.
E dentro desta classe terá uma função chama buscaTodos, esta função irá acessar a tabela
Produtos e deverá retornar todos os produtos que possuem nesta tabela.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
No CodeIgniter, para pegar dados podemos utilizar a função do database chamada get,
para inserir dados podemos utilizar a função insert, para atualizar os dados usamos update
e para deletar dados utilizamos o delete. Veremos como utilizar todas, um pouco mais para
frente.
Nosso primeiro model deve ficar assim:
class Produtos_model extends CI_Model{
public function buscaTodos(){
return $this->db->get("produtos")->result_array();
}
}
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Agora que criamos um model para pegar os dados do banco de dados,
iremos utiliza-lo ao invés de criar diversas array, para fazer isso devemos:
1. Excluir os arrays Pipa, Carro e Chocolate, também devemos tirar o array_push;
2. Carregar o model Produtos_model;
3. Utilizar a função buscaTodos do Produtos_model;
4. Passar os dados do Banco de Dados para a View;
5. Melhorar a visualização na View da Table.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Iremos fazer tudo por partes, primeiro faremos o mais fácil, excluiremos os arrays
Pipa, Carro e Chocolate, junto do Array_push.
Depois, para carregar o model chamaremos uma função já conhecida:
$this->load->model(“produtos_model”);
O $this->load é utilizado para carregarmos tudo no CodeIgniter, seja uma View ou
um model, ou uma Library, Helper, dentre outros.
E atribuiremos o valor na nossa variável produtos:
$produtos = $this->produtos_model->buscaTodos();
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Realize um teste acessando a pagina de Produtos.
Acesse o link:
http://localhost/codeigniter/index.php/produtos
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
“An?” Que erro maluco é esse?
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Produtos::$db
Este erro é porque tentamos acessar o banco de dados, sem carrega-lo. Para corrigir este
erro, devemos ir no controller e carregar o banco de dados. E para carregar o banco de dados
utilizaremos nosso load, então:
$this->load->database();
E pronto, banco de dados carregado.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Volte ao navegador e Atualize a Pagina.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Temos agora uma pagina mais agradável, porém o que acontecesse se eu tentar acessar,
http://localhost/codeigniter/index.php/produtos/
Vemos a mesma pagina porém sem nenhum CSS, e agora?
Para nós auxiliar em questões como está o CodeIgniter nós fornece auxiliadores, ou
Helpers, podemos utilizar Helpers do CodeIgniter como criar nossos próprios helpers. Para
corrigir este utilizaremos um helper do CodeIgniter chamado url, para utilizarmos
este Helper precisamos carrega-lo, então:
$this->load->helper(“url”);
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
“Só que... Aonde vamos utilizar este helper????“
Podemos utilizar ele em formulário, carregamento de arquivos e etc. Neste caso,
utilizaremos este helper quando vamos carregar o BootStrap.
Então na linha que você carrega o BootStrap deve estar assim:
<link rel="stylesheet" href="../css/bootstrap.css">
Tudo o que deve ser feito é:
<link rel="stylesheet" href="<?=base_url("css/bootstrap.css")?>">
O base_url, irá sempre utilizar a url base impedindo que arquivos importantes não sejam
carregados;.
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Agora nossa página está com uma cara mais amigável.
Mas seria legal que o campo Preço saísse formatado, ou seja R$ Reais, Centavos.
para fazermos isso, vamos criar um Helper. Vá na pasta Helper e crie um arquivo chamado,
Conversor_helper.php, que terá apenas uma função chamada numeroEmReias que deve
receber como parâmetro um numero.
E nesta função iremos formatar o numero recebido e retornaremos o numero já
formatamos, e com isso nossa função ficará assim:
<?php
function numeroEmReais($numero){
return "R$ ". number_format($numero, 2, ",“ , ".");
}
?>
Conectando no Banco de Dados
Criando um Helper para nos
auxiliar
Criado por: Raniere de Lima
Para utilizarmos, iremos carrega-lo no controller:
$this->load->helper(“conversor”);
E na view, na hora que carregamos os preços, utilizaremos o nosso helper:
<td><?=numeroEmReais($produto["preco"]) ?></td>
E agora nosso numero sairá formatado em Reais.

Mais conteúdo relacionado

Destaque

Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniterAnderson Gonçalves
 
Sugga serve safe certification!
Sugga serve safe certification!Sugga serve safe certification!
Sugga serve safe certification!Deborah YOUNG
 
ASHLEY DUDAK Resume 2
ASHLEY DUDAK Resume 2ASHLEY DUDAK Resume 2
ASHLEY DUDAK Resume 2Ashley Dudak
 
WebRTC Reborn London Node User Group
WebRTC Reborn London Node User GroupWebRTC Reborn London Node User Group
WebRTC Reborn London Node User GroupDan Jenkins
 
ServSafe Food Handler Certificate
ServSafe Food Handler CertificateServSafe Food Handler Certificate
ServSafe Food Handler CertificateKelsey Kipley
 
4 ways to Maximize the Marketing Potential of LinkedIn
4 ways to Maximize the Marketing Potential of LinkedIn4 ways to Maximize the Marketing Potential of LinkedIn
4 ways to Maximize the Marketing Potential of LinkedInReal-Time OutSource
 
mechanical unit module
mechanical unit modulemechanical unit module
mechanical unit moduleAkina Chiang
 

Destaque (12)

Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniter
 
mic 30001
mic 30001mic 30001
mic 30001
 
Portafolio
PortafolioPortafolio
Portafolio
 
Ahmed Hussein
Ahmed HusseinAhmed Hussein
Ahmed Hussein
 
Sugga serve safe certification!
Sugga serve safe certification!Sugga serve safe certification!
Sugga serve safe certification!
 
ASHLEY DUDAK Resume 2
ASHLEY DUDAK Resume 2ASHLEY DUDAK Resume 2
ASHLEY DUDAK Resume 2
 
WebRTC Reborn London Node User Group
WebRTC Reborn London Node User GroupWebRTC Reborn London Node User Group
WebRTC Reborn London Node User Group
 
ServSafe Food Handler Certificate
ServSafe Food Handler CertificateServSafe Food Handler Certificate
ServSafe Food Handler Certificate
 
فوائد حفظ القرآن
فوائد حفظ القرآنفوائد حفظ القرآن
فوائد حفظ القرآن
 
Alfred-Brown (1)
Alfred-Brown (1)Alfred-Brown (1)
Alfred-Brown (1)
 
4 ways to Maximize the Marketing Potential of LinkedIn
4 ways to Maximize the Marketing Potential of LinkedIn4 ways to Maximize the Marketing Potential of LinkedIn
4 ways to Maximize the Marketing Potential of LinkedIn
 
mechanical unit module
mechanical unit modulemechanical unit module
mechanical unit module
 

Semelhante a Conectando ao Banco de Dados e Criando um Helper

Minicurso VII Secomp e 3º Seel - Jataí - GO
Minicurso VII Secomp e 3º Seel - Jataí - GOMinicurso VII Secomp e 3º Seel - Jataí - GO
Minicurso VII Secomp e 3º Seel - Jataí - GOFernando Soares
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Oficina: Joomla! & VirtueMart do zip até a loja
Oficina: Joomla! & VirtueMart do zip até a lojaOficina: Joomla! & VirtueMart do zip até a loja
Oficina: Joomla! & VirtueMart do zip até a lojaFernando Soares
 
Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de DjangoLeandro Zanuz
 
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)Gabriel Bugano
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fdsRangel Javier
 
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02Matheus Antônio Flauzino
 
Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02Maurício Linhares
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 

Semelhante a Conectando ao Banco de Dados e Criando um Helper (20)

Aula 12/06 (SQLite)
Aula 12/06 (SQLite)Aula 12/06 (SQLite)
Aula 12/06 (SQLite)
 
Minicurso VII Secomp e 3º Seel - Jataí - GO
Minicurso VII Secomp e 3º Seel - Jataí - GOMinicurso VII Secomp e 3º Seel - Jataí - GO
Minicurso VII Secomp e 3º Seel - Jataí - GO
 
Daw slide 08
Daw slide 08Daw slide 08
Daw slide 08
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Oficina: Joomla! & VirtueMart do zip até a loja
Oficina: Joomla! & VirtueMart do zip até a lojaOficina: Joomla! & VirtueMart do zip até a loja
Oficina: Joomla! & VirtueMart do zip até a loja
 
Daw slide 06
Daw slide 06Daw slide 06
Daw slide 06
 
Crud
CrudCrud
Crud
 
Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de Django
 
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fds
 
My first app django
My first app djangoMy first app django
My first app django
 
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02
Oficina Drupal: Gerenciamento de Conteúdo básico - Pratica 02
 
Php04
Php04Php04
Php04
 
Versão 37255
Versão 37255Versão 37255
Versão 37255
 
Versao 37255
Versao 37255Versao 37255
Versao 37255
 
Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Guia BáSico 3
Guia BáSico 3Guia BáSico 3
Guia BáSico 3
 

Conectando ao Banco de Dados e Criando um Helper

  • 1. Conectando no Banco de Dados Criando um Helper para nos auxiliar Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima
  • 2. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Conectando ao Banco de Dados
  • 3. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Hoje nós iremos começar a trabalhar no nosso sistema de um Mercado Online, e hoje nós faremos as seguintes configurações: • Criaremos a primeira view do sistema; • Criaremos o nosso banco de dados e suas tabelas; • Carregaremos dados em uma View; • Conectaremos ao Banco de Dados; • Listaremos nossos produtos; • Criaremos um Helper para corrigir os preços;
  • 4. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Nós já temos uma View em produtos chamada Index, então nós iremos apenas modificar o seu conteúdo porém antes de fazermos isso. Vamos aprender como passar dados para uma View antes. Na função Index localizada em Produtos, crie 3 arrays uma chamada Pipa, outra chamada Carro e a terceira chamada Chocolate. Cada array deve conter os campos nome, descrição e preço. “Mas cara, como eu crio uma array desse tipo em PHP?” Para criar uma array em PHP é simples, utilizaremos a função nativa do PHP chamada array() e dentro dela os campos com seus valores. Ex: $pipa = array(“nome”=>”Pipa muito legal”, “descricao”=>”Uma pipa muito legal”, ”preco”=>4.5);
  • 5. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Bem, sua tela deve ter ficado assim:
  • 6. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Nós fizemos nossa array, só que, como falar que essa pipa, esse carrinho e esse chocolate são nossos produtos. Para isso nós temos que criar outra array que tenha o nome Produtos, e essa array deve conter todos os produtos criados anteriormente, no PHP para adicionar valores em uma array utilizamos o array_push(), que é uma função nativa do PHP também. Então no nosso caso ficará: $produtos = array(); array_push($produtos, $pipa, $carro, $chocolate ); Mas eu ainda não consigo passar os dados, para a minha View para ter algo com valores Fixos, vamos criar outra array chamada dados que receberá como parâmetro: “produtos”=>$produtos, agora sim vamos passar nosso dados para a view. Então quando carregamos nossa view passaremos nossos dados, então ficará: $this->load->view(“produtos/index” , $dados);
  • 7. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Agora que estamos recebendo alguns dados, vamos exibi-los na nossa index, inicialmente criaremos uma table, e depois colocaremos um foreach que receberá como parâmetros $produtos e $produtos, cada produto será uma tr e cada dado será uma td, ou seja o nome, descrição e preço estarão em td.
  • 8. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima O seu código irá ficar mais ou menos assim: Agora teste sua aplicação acessando a pasta de produtos
  • 9. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima “Beleza”, agora nós sabemos como passar dados para uma view e criamos nossa Primeira página do sistema, mas imagina se nós tivéssemos 500 produtos, ficar criando array desta maneira não é muito legal, seria legal fazermos “programágicamente” pegando estes dados do nosso Banco de Dados. Mas espera, nós ainda não temos um banco de dados, então vamos cria-lo: Crie um Banco de Dados chamado CodeIgniter, e dentro dele uma tabela chamada produtos, que terá os campos nome, descrição e preço. (Sem acentuação é claro.)
  • 10. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Agora que criamos o Banco de Dados, devemos configura-lo nosso projeto. E para fazer isso, nós vamos na pasta Config e abriremos o arquivo chamado database.php Neste arquivo configuraremos nosso banco de dados, no final do arquivo terá as configurações, informaremos apenas o hostname, database, username e password: • Hostname = “Endereço do nosso Banco de Dados, no Windows é localhost, no Linux e Mac é 127.0.0.1”; • Database = “Nome do Banco de dados neste caso é CodeIgniter”; • Username = “Nome do usuário do Banco de Dados neste caso é root”; • Password = “Senha do usuário do Banco de dados, que por padrão é vazia”.
  • 11. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Das tarefas que tínhamos, nos já fizemos: • Criaremos a primeira View do sistema; • Criaremos o nosso banco de dados e suas tabelas; • Carregaremos dados em uma View; • Conectaremos ao Banco de Dados; • Listaremos nossos produtos; • Criaremos um Helper para corrigir os preços;
  • 12. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Nós já estamos listando nossos produtos, só que de uma maneira bem feia, vamos fazer uma listagem melhor “programágicamente”, como vimos o conceito de MVC ou Model-View-Controller, é que no View fica toda a parte visual para o cliente, no Controller faz a comunicação entre o Model e a View podendo ou não passar dados, e no Model é aonde criamos funções para a persistência de dados. Já fizemos nosso view e nosso controller, então vamos criar nosso primeiro Model, para isso vá na pasta Model e crie um arquivo chamada produtos_model.php, que terá uma Classe chamada Produtos_mode e extenderá de CI_Model. E dentro desta classe terá uma função chama buscaTodos, esta função irá acessar a tabela Produtos e deverá retornar todos os produtos que possuem nesta tabela.
  • 13. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima No CodeIgniter, para pegar dados podemos utilizar a função do database chamada get, para inserir dados podemos utilizar a função insert, para atualizar os dados usamos update e para deletar dados utilizamos o delete. Veremos como utilizar todas, um pouco mais para frente. Nosso primeiro model deve ficar assim: class Produtos_model extends CI_Model{ public function buscaTodos(){ return $this->db->get("produtos")->result_array(); } }
  • 14. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Agora que criamos um model para pegar os dados do banco de dados, iremos utiliza-lo ao invés de criar diversas array, para fazer isso devemos: 1. Excluir os arrays Pipa, Carro e Chocolate, também devemos tirar o array_push; 2. Carregar o model Produtos_model; 3. Utilizar a função buscaTodos do Produtos_model; 4. Passar os dados do Banco de Dados para a View; 5. Melhorar a visualização na View da Table.
  • 15. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Iremos fazer tudo por partes, primeiro faremos o mais fácil, excluiremos os arrays Pipa, Carro e Chocolate, junto do Array_push. Depois, para carregar o model chamaremos uma função já conhecida: $this->load->model(“produtos_model”); O $this->load é utilizado para carregarmos tudo no CodeIgniter, seja uma View ou um model, ou uma Library, Helper, dentre outros. E atribuiremos o valor na nossa variável produtos: $produtos = $this->produtos_model->buscaTodos();
  • 16. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima
  • 17. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Realize um teste acessando a pagina de Produtos. Acesse o link: http://localhost/codeigniter/index.php/produtos
  • 18. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima
  • 19. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima “An?” Que erro maluco é esse? A PHP Error was encountered Severity: Notice Message: Undefined property: Produtos::$db Este erro é porque tentamos acessar o banco de dados, sem carrega-lo. Para corrigir este erro, devemos ir no controller e carregar o banco de dados. E para carregar o banco de dados utilizaremos nosso load, então: $this->load->database(); E pronto, banco de dados carregado.
  • 20. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Volte ao navegador e Atualize a Pagina.
  • 21. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Temos agora uma pagina mais agradável, porém o que acontecesse se eu tentar acessar, http://localhost/codeigniter/index.php/produtos/ Vemos a mesma pagina porém sem nenhum CSS, e agora? Para nós auxiliar em questões como está o CodeIgniter nós fornece auxiliadores, ou Helpers, podemos utilizar Helpers do CodeIgniter como criar nossos próprios helpers. Para corrigir este utilizaremos um helper do CodeIgniter chamado url, para utilizarmos este Helper precisamos carrega-lo, então: $this->load->helper(“url”);
  • 22. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima “Só que... Aonde vamos utilizar este helper????“ Podemos utilizar ele em formulário, carregamento de arquivos e etc. Neste caso, utilizaremos este helper quando vamos carregar o BootStrap. Então na linha que você carrega o BootStrap deve estar assim: <link rel="stylesheet" href="../css/bootstrap.css"> Tudo o que deve ser feito é: <link rel="stylesheet" href="<?=base_url("css/bootstrap.css")?>"> O base_url, irá sempre utilizar a url base impedindo que arquivos importantes não sejam carregados;.
  • 23. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Agora nossa página está com uma cara mais amigável. Mas seria legal que o campo Preço saísse formatado, ou seja R$ Reais, Centavos. para fazermos isso, vamos criar um Helper. Vá na pasta Helper e crie um arquivo chamado, Conversor_helper.php, que terá apenas uma função chamada numeroEmReias que deve receber como parâmetro um numero. E nesta função iremos formatar o numero recebido e retornaremos o numero já formatamos, e com isso nossa função ficará assim: <?php function numeroEmReais($numero){ return "R$ ". number_format($numero, 2, ",“ , "."); } ?>
  • 24. Conectando no Banco de Dados Criando um Helper para nos auxiliar Criado por: Raniere de Lima Para utilizarmos, iremos carrega-lo no controller: $this->load->helper(“conversor”); E na view, na hora que carregamos os preços, utilizaremos o nosso helper: <td><?=numeroEmReais($produto["preco"]) ?></td> E agora nosso numero sairá formatado em Reais.