|
Programação -
Códigos Fontes
|
|
Escrito por icefusion
|
|
Seg, 22 de Junho de 2009 09:05 |
|
Essa classe foi criada para gerar arquivos HTML de Selects(ComboBox) para minimizar o número de consultas ao banco de dados. Com isso ao invés de a todo momento que for abrir uma página que tenha um combobox que tem que buscar os dados no BD, após a inserção de um registro no banco, você pode executar esta classe e gerar o html atualizado, assim, basta apenas você executar um include no página onde deseja aquele Select(ComboBox).
<?php //Classe para minimizar consultas ao BD ao Gerar ComboBox (Select) dos cadastros.
include 'Conexao.class.php';
class Htmlcache { private $tabela; private $campo1; private $campo2; private $campo3; private $nomselect; private $manBD;
public function __construct($tabela, $campo1, $campo2, $campo3, $nomselect){ $this->tabela = $tabela; $this->campo1 = $campo1; $this->campo2 = $campo2; $this->campo3 = $campo3; $this->nomselect = $nomselect; $this->manBD = new Conexao(); }
public function gerarHtml(){ $sql = 'SELECT '; if($this->campo1!=''){ $sql .= $this->campo1; if($this->campo2!=''){ $sql .= ', '.$this->campo2; if($this->campo3!=''){ $sql .=', '.$this->campo3; } } } $sql .= ' from '.$this->tabela; $resultado = $this->manBD->executarConsulta($sql); $consulta = "<select name=\"".$this->nomselect."\">\n"; while ($linha = mysql_fetch_array($resultado)){ $id = $linha[$this->campo1]; $desc = $linha[$this->campo2].' '.$linha[$this->campo3]; $consulta.='<option value="'.$id.'">'.$desc.'</option>'."\n"; } $consulta.='</select >'."\n"; mysql_free_result($resultado); $arquivo = '/home/icefusion/www/sistema/gestor/consulta/sel'.strtolower($this->tabela).'.html'; $arq = fopen($arquivo, 'w+'); fwrite($arq, $consulta); fclose($arq); } } ?> |