Rafael Clares


Galeria de fotos + admin :: LightBox + PHP + PostgreSQL
Setembro 28, 2009, 1:04 am
Arquivado em: CSS, PHP, PostgreSql

Olá,

Estou disponibilizando uma simples galeria de fotos.

Recursos:
- Post’s (editável)
- Galeria de Fotos Lightbox (gerenciável)
- Painel Admin (banco)
- Adiciona e remove fotos

Utiliza:
- PHP 5
- PostgreSQL
- Lightbox
- CSS e HTML

Configuração:
-  arquivo .php para informar os dados de acesso ao banco
-  criar tabelas do banco

Personalização:
- através de CSS

Design:
- Básico (nenhum)

Funcionalidade:
- Razoável

Limitações na versão padrão:
- mono usuário
- sem design
- código mal identado em alguns arquivos (devido a uma compactação, fiquei com preguiça de arrumar, baixe se quiser)

Link demo: www.clareslab.com.br/gallery
Link Adm: www.clareslab.com.br/gallery/admin
User: demo
Pass: demo

Galera, só peço pra não zoar colocando fotos inadequadas (putaria mesmo) e também nomes de pessoas, já sabem a nossa regrinha, se zoar eu tenho que remover… Espero que respeitem como fizeram no exemplo anterior do lightbox.
Agradeço por isso.

Download: www.clareslab.com.br/learn/mygallery.rar

Telas:

Página Pública

Página Pública

 

Post Página Pública

Post Página Pública

Painel Admin

Painel Admin

Galeria -Painel Admin

Galeria -Painel Admin

Post Painel Admin

Post Painel Admin

Configurando o programinha:

- Abra o arquivo class/Conexao.class.php
- Altere os dados de acesso ao PostgreSql ($host, $user e $pswd)

- Abra o arquivo includes/config.php altere os dados  abaixo:
$homeDB : Nome do banco postgresql
$baseURL : endereço do programa (ex. http://localhost/galeria)
$fotodir : diretório de fotos  (ex: c:\fotos ou /home/foo/fotos)

Crie as tabelas no banco PostgreSql
- O script para criar as tabelas está em src/tables.sql
Aproveite para alterar o usuário padrão do painel admin no arquivo src/tables.sql na linha :
- insert into usuarios (usuario,senha) values (‘demo’,'demo’)

O programa não tem interface atraente e esse não é o objetivo, esse programa foi um rascunho de um projetinho que eu havia feito à muito tempo, não teremos atualizações dele. Percebi que o pessoal tem baixado bastante o exemplo anterior do lightbox e achei lega disponibilizar esse rascunho que não está dificil de customizar.

Dica: Altere a interface utilizando CSS, existem tags HTML por todo o código facilitando customização
Ex:

Para colocar uma imagem de topo da página publica
- Abra o arquivo css/style.css e altere o caminho da imagem em e as propriedades do seletor #headerp

Para colocar uma imagem de topo do painel admin altere as propriedades do seletor #header
Para o rodapé: altere as propriedades  de  #footer

Galera não terei como ajudar em customizações de Layout, blz ?

Então é isso, veja o demo antes de baixar, assim você não se decepciona.

Abraços,



Gerando gráficos com PHP + PostgreSQL + FusionCharts
Setembro 1, 2008, 3:31 am
Arquivado em: PHP, PostgreSql | Tags: , , ,

Gerando gráficos a partir do banco de dados – PHP + PostgreSQL

Pessoal, como eu havia prometido estou postando um exemplo de como gerar gráficos à partir do BD com PHP. Neste exemplo utilizaremos o PHP5 + PostgreSQL, usaremos também a classe de conexão já mostrada em outro post aqui (Classe conexão PHP + PostgreSQL).

O FusionCharts que iremos utilizar para gerar os gráficos também já foi abordado aqui de outra forma (veja o post do Fusioncharts).

Dê uma revisada nos 2 posts acima e volte aqui para não ficar perdido!

Bem, não vou abordar assuntos já discutidos em outros posts, então vamos direto ao assunto ok.

Neste exemplo estamos gerando um gráfico que mostra os usuários cadastrados por cidade.

Baixem o pacote .rar, peguem o arquivo .sql, criem a base e tabela no postgres e populem a tabela. No arquivo .sql já estão todos os dados necessários para popular a tabela bastando apenas mudar os dados para os dados desejados.

O arquivo index.php

<script language=”Javascript” src=”charts/FusionCharts.js”></script>
<?
#Incluindo a classe conexao
includeincludes/conexao.class.php‘;
#Incluindo a classe do Fusion
includeincludes/FusionCharts_Gen.php‘;
#Criando a conexao
$con = new Conexao(“localhost”,”postgres”,”postgres”,”contrib“);
#Abrindo a conexao
$con->open();
#Criando o obj fusion
$FC = new FusionCharts(“column3D“,”650“,”400“);
#Setando o diretorio que contem os  arquivos .swf
$FC->setSwfPath(“charts/“);
#  Setando os atributos para o grafico
$FC->setChartParams(“caption=Usuarios; xAxisName=Cidades; yAxisName=Usuarios; decimalPrecision=0;“);
#Selecionando/contando os usuarios por cidade
$queryCid = pg_query(“select * from cidades“);
while($row = pg_fetch_array($queryCid))
{
$idcidade = $row['idcidade'];
$nomecidade = $row['nomecidade'];
$numCidUsu = pg_num_rows(pg_query(“select * from usuarios where idcidade = $idcidade“));
#Adicionando os dados nas barras ( usuarios  a cidade)
$FC->addChartData($numCidUsu,”name=$nomecidade“);
}
#Gera/renderiza o grafico
$FC->renderChart();
?>

Note que foi utilizada a classe do FusionCharts (não abordada em posts anteriores) para criar o objeto e criar o gráfico.

Para não complicar nada, estou disponibilizando os arquivos do exemplo (sql, php, fusion e js).

Não há muito o que eu comentar neste exemplo devido aos comentários do código e os demais posts sobre o assunto. Mas sintam-se à vontade para perguntar, terei o maior prazer em responde-los.

Obs: Alterem as informações (usuario, senha, base)  da classe conexao.class.php (contida no diretório includes/ do pacote).

Links:

Download do pacote

P.S  Obrigado aqueles que comentaram e pediram esse post, sei como é, alguns só querem achar tudo pronto e pensam que o que satisfaz um cara que fica que nem loko de madrugada escrevendo artigos é a quantidade de downloads.

Abraços,

Rafael Clares



Strings de conexão
Agosto 9, 2008, 4:36 am
Arquivado em: PostgreSql, SQL & .NET, Webtools | Tags: , ,

Olá, irei falar sobre um problema comum à todos nós que estamos começando no mundo da programação. Em diversas vezes já me deparei com o problema de ter que criar uma pequena aplicação específica para incorporar uma já existente, acontece que as vezes o banco de dados utilizado na aplicação existente não é o que costumamos utilizar em nosso dia-a-dia, então nos surge a pequena e mais dificil pergunta:

Como me conecto à esse banco de dados? Qual string devo utilizar, quais parâmetros devem ser informados?

Então para não perdermos mais tempo um cara bem legal teve a brilhante idéia de reunir as strings de conexão dos mais conhecidos bancos de dados que utilizamos hoje em dia.

É possível visualizar todas as formas (obdc, string, etc) de conexão para o banco de dados em questão.

Vamos lá, visite o site connectionstrings e seja feliz!!!

Link: http://connectionstrings.com/

Até logo,

Rafael Clares



PHP + PostgreSql – Conexão com banco de dados
Julho 9, 2008, 5:48 pm
Arquivado em: PHP, PostgreSql | Tags: , , , ,

Tenho visto muito o pessoal procurar artigos e tutoriais sobre PHP e percebi que a busca por banco de dados ainda é pouca. Pensei em mostrar aqui como se conectar à um banco de dados SQL, afinal de contas o PHP apenas para cálculos e comandos de servidor não é tãoooo divertido embora eu ache fascinante!

Veremos como se conectar ao PostgreSql que é o que eu utilizo como SGBD (sistema gerenciador de banco de dados), o pessoal tem utilizado muito o MySql que também é excelente, gosto mais do PostgreSql devido aos padrões mantidos estarem mais próximos do SQL. (Se ainda não tem instalado baixe em PostgreSql).

Bem, o postgre como muitos (ou todos) os SGBD’s  devem receber como parâmetros os dados de conexão, tais como, usuário, senha, host, port, base.

No PHP o comando utilizado para conectar-se ao PostgreSql é o pg_connect(“parâmetros”), então nada melhor do que começarmos e iremos fazer isso com uma classe (Classes c/ PHP5) !

O arquivo conexao.class.php (o .class é apenas para identificarmos o arquivo como uma classe).

<?

Class Conexao
{
protected $host = “localhost”;
protected $user = “postgres”;
protected $pswd = “postgres”;
protected $dbname = “teste”;
protected $con = null;

function __construct(){} //método construtor

#método que inicia conexao
function open(){
$this->con = @pg_connect(host=$this->host user=$this->user
password=
$this->pswd dbname=$this->dbname“);
 return $this->con;
}

#método que encerra a conexao
function close(){
 @pg_close($this->con);
}

#método verifica status da conexao
function statusCon(){
  if(!$this->con){
   echo “<h3>O sistema não está conectado à  [$this->dbname] em [$this->host].</h3>”;
   exit;
  }
  else{
   echo “<h3>O sistema está conectado à  [$this->dbname] em [$this->host].</h3>”;
  }
 }
}

?>

Set os valores das variáveis host, user, pswd e dbname

host = geralmente localhost ou seu ip
user = usuário que criou ao instalar o postgre
pwsd = senha do usuário do postgre
dbname = a base que deseja se conectar no postgre

Como eu havia dito pg_connect() é o método PHP que conecta-se ao  PostgreSql, o ‘@’ antes do método serve para inibir/ocultar as mensagens de erro do método caso ocorram durante a tentativa de conexao. Você pode  retira-la e testa-la informando algum valor incorreto nas variáveis de conexão. Geralmente ocultamos essas mensagens para que um visitante ao acessar seu sistema não veja os parâmetros utilizados ou nomes de váriaveis que você utiliza na conexão, em outras palavras, ocultamos as mensagens por segurança. Existem outras formas de tratar os erros e  as mensagens com segurança, mas isso não será abordado aqui. Ao menos nesse post, não!

Os valores contidos como parâmetros em pg_connect() são os valores das variáveis setadas no inicio da classe.  Seria interessante criar métodos para setar os valores de variáveis de conexao apenas se você precisasse utilizar mais de um banco (não base, banco) na sua aplicação, para evitar criar 2 classes diferentes poderiamos fazer um método do tipo setUserBanco(), setHostBanco(“localhost 2″), entendeu ? ok!

Mas como trata-se apenas de 1 conexão, seria muitos métodos para pouca coisa!

O método open() retorna o estado da conexao (true ou false), com isso podemos através do método statusCon() saber se a conexao está ativa ou não.

O método close(), como você imaginou encerra a conexao chamando o método PHP pg_close();

Crie agora o arquivo index.php para testarmos a conexao

<?
#incluindo a classe conexao (supondo estar no mesmo diretorio)
include(‘conexao.class.php’);

#instanciando o objeto
$minhaConexao = new Conexao();

#chamada ao metodo open que abra a conexao
$minhaConexao->open();

#verificando o status da conexao
$minhaConexao->statusCon();

#encerrando a conexao
$minhaConexao->close();

#verificando a conexao apos close();
$minhaConexao->statusCon();
?>

É isso pessoal, bem simples e num post futuro veremos como gravar/editar/atualizar/excluir registros de uma tabela usando o PHP e PostgreSql.

Deixei um vídeo tosco mostrando/explicando melhor como funciona essa classe.
Dê uma olhada no vídeo aqui

Abraços,

Rafael Clares