CRUD com Code Igniter Parte 3

Dando continuidade ao CRUD. Vamos organizar as Views.

Nesse artigo vou apanes mostrar como vai ficar as nossas views e demonstrar fazendo o chamado para a nossa view principal, no caso a listagem.

Vamos contruir 4 views para esse nosso CRUD.

Vamos lá dentro de /system/application/views/

Vamos criar os seguintes arquivos:

  • listagem_view.php
  • formulario_view.php
  • sucesso_view.php
  • falha_view.php

Essas serão nossas views. Vamos a primeira a listagem:

O arquivo ficará da seguinte forma:

listagem_view.php


<html>
<head>
<title>Clientes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table border="1">
<thead>
<tr>
<th>Cliente</th>
<th>Email</th>
<th>Data de Nascimento</th>
<th>Endereço</th>
<th>Bairro</th>
<th>Cidade</th>
<th>UF</th>
</tr>
</thead>
<tbody>
<?php if ($clientes): ?>
<?php foreach ( $clientes as $cliente ): ?>
<tr>
<td><?=@$cliente->nome?></td>
<td><?=@$cliente->email?></td>
<td><?=@$cliente->dt_nascimento?></td>
<td><?=@$cliente->endereco." ".@$cliente->numero_endereco?></td>
<td><?=@$cliente->bairro?></td>
<td><?=@$cliente->cidade?></td>
<td><?=@$cliente->uf?></td>
<td><a href="<?=site_url()?>/cliente/cadastrar/<?=@$cliente->id_cliente?>">Editar</a></td>
<td><a href="<?=site_url()?>/cliente/excluir/<?=@$cliente->id_cliente?>">Excluir</a></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="7">Nenhum cliente cadastrado</td>
</tr>
<?php endif; ?>
</tbody>
</table>
<br />
<div>
<form method="post" action="<?=site_url()?>/cliente/cadastrar">
<button type="submit">Cadastrar</button>
</form>
</div>
</body>
</html>

—————————————————

formulario_view.php


<html>
<head>
<title>Clientes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p><?=@$this->validation->error_string?></p>
<form action="<?=site_url()?>/cliente/salvar" method="post">
<label>Cliente</label><br />
<input type="text" name="cliente" value="<?=@$cliente->nome?>" /><br />
<label>Email</label><br />
<input type="text" name="email" value="<?=@$cliente->email?>" /><br />
<label>Data de Nascimento</label><br />
<input type="text" name="dtNasc" value="<?=@$cliente->dt_nascimento?>" />(Ex: 2009-12-30)<br />
<label>Endereço</label><br />
<input type="text" name="end" value="<?=@$cliente->endereco?>" /><br />
<label>Numero</label><br />
<input type="text" name="num" value="<?=@$cliente->numero_endereco?>" /><br />
<label>Bairro</label><br />
<input type="text" name="bairro" value="<?=@$cliente->bairro?>" /><br />
<label>Cidade</label><br />
<input type="text" name="cidade" value="<?=@$cliente->cidade?>" /><br />
<label>UF</label><br />
<input type="text" name="uf" value="<?=@$cliente->uf?>" maxlength="2" /><br />
<br />
<input type="hidden" name="id" value="<?=@$cliente->id_cliente?>" />
<button type="submit">Salvar</button>
</form>
</body>
</html>

———————————————————

sucesso_view.php


<html>
<head>
<title>Clientes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
<form action="<?=site_url()?>/cliente" method="post">
<p>Operação realizada com sucesso!</p>
<button type="submit">Voltar</button>
</form>
</div>
</body>
</html>

—————————————————————-

falha_view.php


<html>
<head>
<title>Clientes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
<form action="<?=site_url()?>/cliente" method="post">
<p>Erro ao executar operação</p>
<button type="submit">Voltar</button>
</form>
</div>
</body>
</html>

Agora vamos chamar nossa view de listagem no nosso primeiro método o index no controller cliente. Utilizando também o método getClientes() do nosso model cliente para obter todos os cliente e montarmos nossa tabela.

Com isso nosso método index do nosso controller ficará assim:


public function index() {
     // a forma que instanciamos um Model no
    // CodeIgniter é simples,
    // usamos o método model da classe Load,
    // que já é carregada na mémoria pelo Framework,
    // e passamos 3 parâmetro:
    // 1-nome do model
    // 2-apelido para usarmos o model (optativo)
    // 3-ativanção da conexão
    
$this->load->model("Cliente_Model", "cliente", TRUE);
    // agora podemos utilizar os métodos do model
    // digamos que nosso método para pegarmos
    // todos os clientes seja o método
    // getClientes()então nosso método ficará
    
$clientes = $this->cliente->getClientes();
    // note que como demos o apelido para o Model
    // nós usaremos o apelido para usarmos o model
    // utilizaremos o helper URL para utilizarmos
    // algumas funções contidas nele
    
$this->load->helper('url');
    $view['clientes'] = $clientes;
    $this->load->view('listagem_view', $view);
}

Note que o método que carrega a view ele pode receber um segundo parâmetro, sendo esse um array. Onde a chave do array será o nome da variável que será usada na view.

Próximo passo será detalhar algumas coisas que já estão implementadas no CodeIgniter para nos ajudar a validar os campos do nosso formulário.

Após isso disponibilizarei todos os arquivos para download.

Até a próxima!

4 Respostas a CRUD com Code Igniter Parte 3

  1. Pedro Junior diz:

    Boa Tarde !!!!
    Primeiramente gostaria de parabenizar pela iniciativa de criar este tutorial. Estou tentando conhecer a liguagem PHP e meu professor falou que codeigniter era muito bom. sou totalmente leigo no assunto. estou fazendo passo a passo esse tutorial mais nao consigo fazer rodar. dar um erro como se nao achasse a class Controller. Vc tem alguma dica que possa me ajudar.

    Um forte abraço.

    Pedro Jr

    • samuelrbo diz:

      Pedro só está implementado nos exemplos a listagem dos clientes. Você construiu o banco? Os arquivos estão nas pastas certas? outra tenta colocar assim localhost/index.php/Cliente para tentar chamar o Controller Cliente. Depois eu mostro como retirar o index.php com .htaccess para deixar a url mais amigável. Se essas coisas não derem certo coloca aqui o erro que está dando.

      Abraço.

  2. Pedro Junior diz:

    Ola…
    eu criei o banco como esta no exemplo, coloquei os arquivo de acordo com o que pesquisei sobre o codeigniter. mas quando eu mando executar esta dando esse erro:
    Parse error: syntax error, unexpected ‘;’, expecting T_FUNCTION in C:\Arquivos de programas\EasyPHP 2.0b1\www\cliente\system\application\controllers\Cliente.php on line 17
    e o que tem na linha 17 é ?>
    Gostaria de agradecer por ter respondido.

Deixar um comentário

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Modificar )

Imagem do Twitter

You are commenting using your Twitter account. Log Out / Modificar )

Facebook photo

You are commenting using your Facebook account. Log Out / Modificar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.