Boa tarde pessoal!

Estou postando aqui uma classe bem básica que fiz para agilizar bastante nas quatro funções básicas de banco de dados: Criar, Recuperar, Atualizar e Deletar. Em outras palavras seria a execução dos seguintes comandos SQL respectivamente: INSERT, SELECT, UPDATE e DELETE.

Na maioria dos caso nem vai ser necessário você digitar uma Query SQL, pois você pode fazer quase tudo diretamente pela classe. Para utilizar a classe, você deve primeiro abrir uma conexão Mysql da maneira mais comum no PHP:

$conn = mysql_connect('localhost', 'usuario', 'senha');
$db   = mysql_select_db('banco');

Agora, digamos que você quer “abrir” todos os registros existentes na tabela “pessoas” do seu banco e mostrar os campos “nome” e “email” de cada pessoa. Primeiro você deve incluir a classe simpleCRUD e depois criar a classe “Pessoas” que irá extendê-la, informando o nome da tabela. Então você executa a função abstrata “find_all”, que irá retornar uma Array de objetos “Pessoas” ou uma Array vazia caso não exista nenhum registro na tabela.

require("simplecrud.class.php");
 
class Pessoas extends simpleCRUD {
	protected $__table = "pessoas";
}
 
$pessoas = Pessoas::find_all();
 
foreach ($pessoas as $pessoa) {
	echo "Nome: {$pessoa->nome} - Email: {$pessoa->email}<br />";
}

Você também pode procurar registros por ID ou por SQL caso você queira ser mais específico.

$pessoa = Pessoas::find_by_id(20); // Irá retornar um único objeto "Pessoas"
print_r($pessoa->toArray()); // toArray() retorna todos os campos em uma array
 
$menores = Pessoas::find_by_sql("SELECT * FROM pessoas WHERE idade < 18");
 
foreach ($menores as $menor) {
	echo "Nome: {$menor->nome} - Idade: {$menor->idade}<br />";
}

Para inserir novos registros você deve criar uma nova instância da classe, preencher os campos necessários e executar a função “insert”:

$pessoa = new Pessoas();
 
$pessoa->nome = "Fredi Machado";
$pessoa->site = "http://fredimachado.com.br";
 
$pessoa->insert();
 
echo $pessoa->id; // Depois do insert o id inserido já está no objeto automaticamente

Para deletar um registro você pode abrí-lo e depois executar a função “delete” (Claro que na maioria dos casos é bem mais fácil executar direto uma Query SQL para deletar um ou mais registros):

$pessoa = Pessoas::find_by_id(1);
 
if ($pessoa) // Só pra ter certeza, pois a função vai retornar false caso o registro não exista
	$pessoa->delete();

Para atualizar um registro é bem fácil. Você precisa abrir, alterar os campos necessários e executar a função “update”:

$pessoa = Pessoas::find_by_id(2);
 
if ($pessoa) {
	$pessoa->nome = "Novo nome";
	$pessoa->update();
}

Baixe a classe com exemplos:

http://fredimachado.com.br/wp-content/plugins/downloads-manager/img/icons/winrar.gif download: simplecrud-0.1-20090825.zip (3.95KB)
added: 25/08/2009
clicks: 948
description: Classe simpleCRUD Versão 0.1

Com certeza pode ajudar muita gente que ainda não utiliza nenhum Framework PHP. Postei esta classe no Github também, para ter mais controle sobre as mudanças no desenvolvimento. Quem quiser conferir é só acessar este link: http://github.com/fredi/simpleCRUD/tree/master

Abraço e até o próximo post.