Leia o artigo anterior
Criando uma aplicação com o framework CodeIgniter
Soluções com o framework Codeigniter - PHP
*
Continuando a série de artigos sobre o CodeIgniter, hoje criaremos nosso primeiro CRUD (Create Retrieve Update Delete), que quer dizer, criar, buscar, atualizar e excluir registro de um banco de dados. Manteremos o mesmo template e visual, fica a critério do desenvolvedor altear o visual do sistema.
Primeiramente vamos criar três diretórios, no diretório raiz do projeto, o diretório "css", "js" e "img", conforme imagem abaixo:

Criei também um arquivo de estilos, dentro do dir css, o estilo.css, retirei todo css que estava no template_view.php, e coloquei dentro desta folha de estilos, modularizando mais nossa aplicação.

Veja que estou utilizando uma função/helper chamada "base_url()", esse helper está dentro dos helpers de URL. Para utilizá-lo, bastar adicioná-lo no arquivo system/application/confg/autoload.php editando a linha 54.
$autoload['helper'] = array('url');
Lembrando que para isso funcionar devemos estar configurado a base_url, conforme primeiro artigo.
Aproveite também para alterar a linha 42, adicionando a library de database.
$autoload['libraries'] = array('parser','database');
Bem, vamos criar nosso banco de dados.
CREATE DATABASE `codeigniter` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;Existem três dicas para nunca termos problemas de acentuação, são elas:
- Banco de dados
- Arquivos
- Meta tag's
Chamei nosso banco de dados de codeigniter, uma observação importante é deixar o CHARACTER SET como utf8 e a COLLATE como utf8_general_ci. Para nunca termos problemas com caracteres especiais e acentuação, sempre deixe com essas configurações.
Outra configuração que evita erros de acentuação é salvar seus arquivos como UTF8.
E a terceira é a linha 3 do template_view.php, iremos acrescentar isso conforme figura anterior:
Execute o código SQL abaixo:
CREATE TABLE `noticia` (
`id_noticia` int(16) unsigned NOT NULL auto_increment,
`titulo_noticia` varchar(128) NOT NULL,
`texto_noticia` text NOT NULL,
`data_noticia` datetime NOT NULL,
PRIMARY KEY (`id_noticia`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;Criado o nosso banco de dados corretamente, vamos dar sequência a nossa aplicação.
Vamos criar um diretório dentro de view chamado "noticia", e após criaremos três view's novas.
A primeira é a noticia_view.php

noticia_cad_view.php

noticia_del_view.php

OBS: Vejam que eu tenho um marcador em forma de bloco da linha 4 à linha 7 do arquivo noticia_del_view.php. Os blocos servem como se fossem loop's (ele faz um foreach por baixo dos panos), neste bloco eu jogo pra dentro dele um vetor de objetos e ele popula sozinho pra mim os dados.
Agora criaremos uma model chamada "noticia_model", onde estaremos colocando todas as nossas regras de negócios.
class noticia_model extends Model {
private $vet_dados = array();
public function __construct() {
parent::Model();
}
public function mostrar() {
$this->vet_dados["noticia"] = $this->getNoticia();
return $this->parser->parse("noticia/noticia_view", $this->vet_dados, TRUE);
}













14 Comentários
Qual a sua opinião?