← Desenvolvimento

PDB - Base de dados em PHP

Lida 2199 vezes

Offline

kingless 
Membro
Mensagens 857 Gostos 0
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2 Level 1

PDB (PHP DATABASE) é um simples sistema gestor de base de dados que utiliza ficheiros de texto para armazenar dados. Caso não queira utilizar outros SGBD (ex: MySQL, PostegreSQL) ou o seu alojamento apenas permite a criação de uma base de dados no servidor e precisas de uma base de dados então o PDB é um boa alternativa.

O PDB neste momento esta na versão 1.0 RC (Release Candidate) que foi lançada ontem e só continuarei a desenvolver o PDB até a versão 1.0 Final porque tenho que terminar outros projectos.

PDB 1.0 (Release Candidate) - Download Disponível

O pdb 1.0 release candidate tem algumas correcções de erros e modificações, se alguém quiser ver as modificações que foram feitas nos ficheiros aqui ficam os links:
install.php
pdb.class.php
pdb.php

Nesta versão foi adicionado um ficheiro example.php com varios exemplos a mostrar como utilizar o pdb, se quiserem ver o código do example.php >  example.php

Downloads:
Tar: http://www.kingless.net/download.php?filename=pdb-1.0.RC.tar.gz
Zip: http://www.kingless.net/download.php?filename=pdb-1.0.RC.zip

Podem também fazer download do pdb pelo servidor SVN

svn co https://phpdatabase.svn.sourceforge.net/svnroot/phpdatabase/trunk/

PDB SVN: http://phpdatabase.svn.sourceforge.net/


Mais Informação sobre o PDB pode ser encontrada no p@p no tópico onde tudo começou e onde é dado o suporte do PDB P@P

Cumprimentos,
kingless
Offline

Tomahock 
Membro
Mensagens 317 Gostos 0
Troféus totais: 27
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Muito bom projecto!
Offline

kingless 
Membro
Mensagens 857 Gostos 0
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2 Level 1

Fiz uma documentação melhor do PDB mas,  a documentação ainda tem alguns problemas com as letras depois resolvo isso.

PDB Doc:
http://www.kingless.net/doc/
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

kingless, parabéns, projecto à maneira!
Offline

kingless 
Membro
Mensagens 857 Gostos 0
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2 Level 1

Fica aqui um exemplo de como utilizar o PDB para armazenar dados.. ;)

Demo:
http://www.kingless.net/guestbook/index.php

Download:
http://www.kingless.net/download.php?filename=guestbook.tar

Source Code:
http://www.kingless.net/download.php?filename=guestbook.php;source

Código: [Seleccione]

<html>
<head>
 <title>Livro de Visitas</title>
</head>
<body>
<?php

//inclui o pdb
include_once&#40; 'pdb.php' &#41;;

//Iniciliza o PDB
$db = new pdb_init&#40; 'kingless', 'password', 'guestbook' &#41;;

//Verifica se a database "guestbook" já existe
if&#40;!$db->db_exists&#40; 'guestbook' &#41;&#41; &#123;

//Cria uma base de dados com o nome guestbook 
$db->create_db&#40; 'guestbook' &#41;;

//Cria uma tabela com o nome livro e com 4 colunas &#40;nome, email, texto, data &#41;;
$db->create_table&#40; 'livro', 'nome', 'email', 'msg', 'data' &#41;;
&#125;

if&#40;isset&#40; $_POST['enviar'&#93; &#41; AND !empty&#40; $_POST['msg'&#93; &#41; AND !empty&#40; $_POST['nome'&#93; &#41;&#41; &#123;


$nome $_POST['nome'&#93;;
$email = empty&#40; $_POST['email'&#93; &#41; ? '' &#58; $_POST['email'&#93;;
$data date&#40;"j \d\e F \d\e Y, G&#58;i"&#41;;
$msg nl2br&#40; $_POST['msg'&#93; &#41;;

//Insere os dados na tabela livro
$query = array&#40; 'nome' => $nome, 'email' => $email, 'data' => $data, 'msg' => $msg &#41;;

if&#40;$db->insert&#40; 'livro', $query &#41;&#41; &#123;
echo 'Mensagem adicionada com sucesso'
&
#125; else &#123;
echo 'Não foi possivel enviar a mensagem';
&
#125;

?>

<a href="index.php"><p>Voltar</a>
<?
return;
}
?>

<h2>Livro de Visitas</h2>
<form method="post" action="<?php echo basename&#40; __FILE__ &#41;;?>">
<table>
<tr><td><p>Nome: </td><td><input type="text" name="nome" size="20"></p></td></tr>
<tr><td><p>E-mail: </td><td><input type="text" name="email" size="20"></p></td></tr>
<tr><td valign="top">Mensagem: </td><td><textarea rows="6" name="msg" cols="32"></textarea></td></tr>
<tr><td align="right" colspan="2"><p><input type="submit" value="enviar" name="enviar"> </p></td></tr>
</table></form>
<?php

//Seleciona os dados que estão na tabela
if&#40;$row = $db->select&#40; 'nome,data,msg,email', 'livro' &#41;&#41; &#123;

echo '<table border="1">';
echo '<tr> <td width="100%"><p align="center"><b>Mensagens no Livro</b></td></tr>';

// $db->values tem o numero de valores retornados pelo $db->select   &#40;print_r&#40; $row &#41;&#41;
for&#40;$x = 0; $x < $db->values; $x++&#41; &#123;
$nome $row['nome'&#93;[$x&#93;;
$data $row['data'&#93;[$x&#93;;
$msg $row['msg'&#93;[$x&#93;;
$email = empty&#40; $row['email'&#93;[$x&#93; &#41; ? '' &#58; $row['email'&#93;[$x&#93;;


echo '<tr> <td width="100%"><p align="left">Enviado por <a href="mailto&#58;'$email .'">'$nome .'</a> em '$data .'</font></td></tr>';
echo '<td width="100%"><p align="left">'$msg .'</td></tr>';

&#125;

echo '</table>';
&
#125;

?>

</body>
</html>


PDB - PHP DATABASE