henbran
(usa Debian)
Enviado em 08/06/2011 - 08:45h
ACESSO AO BD.
............................................
<?php
class Banco {
public $con;
public $msg;
private $dC;
private $tipo = "mysql";
private $host = "localhost";
private $bd = "nomeDoBanco";
private $user = "usuarioDoBanco";
private $pass = "senhaDoUsuarioDoBanco";
public function conectar() {
$this->tipoBd();
if ($this->con) {
try {
$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
$this->msg = "Erro de conexão com o banco de dados: Código: " . $e->getCode() . "Mensagem " . $e->getMessage() . "hora: " . date('H:i:s');
}
} else {
echo "Erro na definição PDO do banco de dados!";
exit;
}
}
private function tipoBd() {
try {
switch ($this->tipo) {
case 'mysql':
try {
$this->con = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->bd, $this->user, $this->pass);
} catch (Exception $exc) {
$this->msg = "Erro de coneção com o banco de dados MySql. " . $exc->getTraceAsString();
}
break;
case 'pgsql':
$this->con = new PDO("pgsql:dbname={" . $this->bd . "};user={" . $this->user . "}; password={" . $this->pass . "};host=" . $this->host);
break;
case 'oci8':
$tns = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" . $this->host . ")(PORT=1521)))(CONNECT_DATA=(SID=" . $this->bd . ")))";
$this->con = new PDO("oci:dbname=" . $tns, $this->user, $this->pass, array(PDO::ATTR_PERSISTENT => true));
break;
case 'mssql':
$this->con = new PDO("mssql:host={" . $this->host . "},1433;dbname={" . $this->bd . "}", $this->user, $this->pass);
break;
}
} catch (Exception $exc) {
echo $exc->getTraceAsString();
exit;
}
}
}
?>
=============================================
EXEMPLO QUE RETORNA UM ARRAY DE CIDADES
...........................................
<?php
require_once ("Banco.php");
class CidadeDao {
public function lstCidade($v) {
$B = new Banco();
$campos = " c.idCidade id,c.nomeCidade descricao,c.idUf,uf.siglaUf";
$condicao = "";
if(($v[idCidade])&&($v[idCidade]!="")) $condicao .= $B->condicaoSql(" c.idCidade=".$v[idCidade], $condicao);
if(($v[idUf])&&($v[idUf]!="")) $condicao .= $B->condicaoSql(" c.idUf=".$v[idUf], $condicao);
if(($v[nomeCidade])&&($v[nomeCidade]!="")) $condicao .= $B->condicaoSql(" c.nomeCidade LIKE '%".$v[nomeCidade]."%'", $condicao);
$sql = "SELECT ".$campos." FROM cidade c ";
$sql .= " INNER JOIN uf ON c.idUf=uf.idUf ".$condicao." ORDER BY c.nomeCidade";
$B->conectar();
try {
$rs = $B->con->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); // ???????
} catch (Exception $exc) {
echo $exc->getMessage();
}
try {
$rs->execute();
} catch (Exception $exc) {
echo $exc->getMessage();
}
//echo $sql;
//echo "registros: ".$rs->rowCount();
$res = $rs->fetchAll(PDO::FETCH_ASSOC);
for ($i= 0; $res[$i]; $i++) {$res[$i][descricao] = utf8_encode($res[$i][descricao]);}
//print_r($res);
return $res;
}
public function lstUf($v) {
$B = new Banco();
$campos = " uf.idUf id,uf.siglaUf descricao,uf.descrUf ";
$condicao = "";
if(($v[idUf])&&($v[idUf]!="")) $condicao .= $B->condicaoSql(" uf.idUf=".$v[idUf], $condicao);
if(($v[siglaUf])&&($v[siglaUf]!="")) $condicao .= $B->condicaoSql(" uf.siglaUf LIKE '%".$v[siglaUf]."%'", $condicao);
if(($v[descrUf])&&($v[descrUf]!="")) $condicao .= $B->condicaoSql(" uf.descrUf LIKE '%".$v[descrUf]."%'", $condicao);
$sql = "SELECT ".$campos." FROM uf ".$condicao." ORDER BY uf.siglaUf";
$B->conectar();
try {
$rs = $B->con->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); // ???????
} catch (Exception $exc) {
echo $exc->getMessage();
}
try {
$rs->execute();
} catch (Exception $exc) {
echo $exc->getMessage();
}
//echo $sql;
//echo "registros: ".$rs->rowCount();
$res = $rs->fetchAll(PDO::FETCH_ASSOC);
//echo var_dump($res);
return $res;
}
public function lstBairro($v) {
$B = new Banco();
$campos = " b.idBairro id,b.nomeBairro descricao,b.idCidade,c.nomeCidade,c.idUf,uf.siglaUf";
$condicao = "";
if(($v[idCidade])&&($v[idCidade]!="")) $condicao .= $B->condicaoSql(" b.idCidade=".$v[idCidade], $condicao);
if(($v[idUf])&&($v[idUf]!="")) $condicao .= $B->condicaoSql(" c.idUf=".$v[idUf], $condicao);
if(($v[idBairro])&&($v[idBairro]!="")) $condicao .= $B->condicaoSql(" b.idBairro=".$v[idBairro], $condicao);
if(($v[nomeBairro])&&($v[nomeBairro]!="")) $condicao .= $B->condicaoSql(" b.nomeBairro LIKE '%".$v[nomeBairro]."%'", $condicao);
$sql = "SELECT ".$campos." FROM bairro b INNER JOIN cidade c ON b.idCidade = c.idCidade";
$sql .= " INNER JOIN uf ON c.idUf=uf.idUf ".$condicao." ORDER BY b.nomeBairro";
$B->conectar();
try {
$rs = $B->con->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); // ???????
} catch (Exception $exc) {
echo $exc->getMessage();
}
try {
$rs->execute();
} catch (Exception $exc) {
echo $exc->getMessage();
}
//echo $sql;
//echo "registros: ".$rs->rowCount();
$res = $rs->fetchAll(PDO::FETCH_ASSOC);
//print_r($res);
for ($i= 0; $res[$i]; $i++) {$res[$i][descricao] = utf8_encode($res[$i][descricao]);}
return $res;
}
}
?>
==========================================
ESTES EXEMPLOS ESTÃO EM PLENO FUNCIONAMENTO ...