evePHP: Classe para desenvolvimento PHP
Publicado por EVERTON DA ROSA 02/01/2008
[ Hits: 5.942 ]
Homepage: http://everton3x.github.io
evePHP é uma classe que provê ao desenvolvedor várias funções que facilitam o desenvolvimento de aplicações PHP.
<? /* evePHP: Classe para desenvolvimento PHP ----------------------------------------------------- Desenvolvido por Everton da Rosa. Licença GNU (www.gnu.org). ----------------------------------------------------- evePHP é uma classe PHP com diversas funções que facilitam o desenvolvimento de aplicações PHP Versão 1.0 (21 de novembro de 2007) Funções: criar tabela com paginação, ordenação e filtragem de resultados Futuro: xtab: efeito sobre a linha com foco do mouse. Outras funções: validação e formatação de CPF, CNPJ, data, hora; tratamento de texto; manipulação de data e hora (somar, diferença, conversão, etc); Changelog: 24/11/2007: - Versão inaugural da evePHP Para detalhes e ajuda complementar, consulte http://www.php.net/manual/pt_BR/index.php (manual em português do PHP) Tópicos recomendados: - Classes e Objetos (PHP 5): http://www.php.net/manual/pt_BR/language.oop5.php - Variáveis: http://www.php.net/manual/pt_BR/language.variables.php Caso faça correções, melhorias ou modificações, favor contatar o desenvolvedor através do e-mail everton3x@gmail.com enviando o código para atualização da classe nos sites onde ela se encontra hospedada. Para exemplo de uso, veja o arquivo evePHP.*.samples.php Ao utilizar esta classe, por favor indique seu autor da seguinte forma: ----------------------------------------------------- evePHP: Classe para desenvolvimento PHP Desenvolvido por Everton da Rosa (everton3x@gmail.com). Licença GNU (www.gnu.org). ----------------------------------------------------- Ao utilizar código baseado nesta classe, por favor referencie da seguinte forma: ----------------------------------------------------- Baseado na classe evePHP: Classe para desenvolvimento PHP, desenvolvida por Everton da Rosa (everton3x@gmail.com) sob licença GNU (www.gnu.org). ----------------------------------------------------- */ class evePHP{ function xtab($config){ if(!is_array($config)){ exit('evePHP::xtab: O parâmetro de configuração não é válido!'); } if(!$config['serialized']){ $sql = $config['sql']; $size = $config['size']; $start = 0; $order = ''; if($config['xtabField'] != ''){ $xtabField = $config['xtabField']; }else{ $xtabField = $unserialized['xtabField']; } if($config['xtabSearch'] != ''){ $xtabSearch = $config['xtabSearch']; }else{ $xtabSearch = $unserialized['xtabSearch']; } }else{ $unserialized = unserialize(stripcslashes(html_entity_decode($config['serialized'],ENT_QUOTES))); if($config['order'] != ''){ $order = $config['order']; }else{ $order = $unserialized['order']; } if($config['xtabField'] != ''){ $xtabField = $config['xtabField']; }else{ $xtabField = $unserialized['xtabField']; } if($config['xtabSearch'] != ''){ $xtabSearch = $config['xtabSearch']; }else{ $xtabSearch = $unserialized['xtabSearch']; } $sql = $unserialized['sql']; $size = $unserialized['size']; $start = $unserialized['start']; } if($xtabField == '' || $xtabSearch == ''){ $where = ''; }else{ $where = ' and '.$xtabField.' like "'.$xtabSearch.'" '; } $sqltotal = $sql.' '.$where;//sql uzado para calcular o número de páginas $sqlpage = $sql.' '.$where.' '.$order.' limit '.$start.','.$size; //sql para pegar os dados da página //nesta seção é feita a pesquisa no banco de dados. Estou usando a classe eveQuery, porém você pode modificar como você quiser //É aqui que será utilizado $config[connection] require('eveQuery.php'); $eveQuery = new eveQuery(); $resource = $eveQuery->query($sqlpage,'mysql',$config['connection'],$config['connection']['db']); //executa a consulta . não mude o nome da variável $resource $getpages = $eveQuery->query($sqltotal,'mysql',$config['connection'],$config['connection']['db']); //pesquisa o total de linhas para calcular as páginas //fim da parte de conexão e consulta $NumeroDeLinhasTotal = mysql_num_rows($getpages);//retorna o número de linhas total da tabela $NumeroDeLinhas = mysql_num_rows($resource);//retorna o número de linhas do resultado $NumeroDeCampos = mysql_num_fields($resource); //pega o número de campos do resultado $NumeroDePaginas = ceil($NumeroDeLinhasTotal/$size); //calcula o total de páginas $table = '<table id="xtabTable">'; //abre a tabela $table .= '<tr id="xtabHeadTR">'; //abre a linha do cabeçalho for($i = 0;$i < $NumeroDeCampos; $i++){//monta o cabeçalho da tabela if(!$unserialized['start']){$startthis = 0;}else{$startthis = $unserialized['start'];}//pega o início da página $arraythispage = array(//array contendo os parâmetros para a montagem da classificação da coluna 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $startthis, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serializedthispage = htmlentities(serialize($arraythispage),ENT_QUOTES);//prepara $array para ser enviado por GET $field = $config['labels'][$i]; $table .= '<th id="xtabHeadTH">'.$field.' <a href="?serialized='.$serializedthispage.'&order=order by '.mysql_field_name($resource,$i).' asc&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'" class="xtabHeadSortLinkIcon"><img src="'.$config['sort_az'].'" class="xtabHeadSortIcon"></a><a href="?serialized='.$serializedthispage.'&order=order by '.mysql_field_name($resource,$i).' desc&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'" class="xtabHeadSortLinkIcon"><img src="'.$config['sort_za'].'" class="xtabHeadSortIcon"></a></th>';//monta cada coluna do cabeçalho } $table .= '</tr>'; //fecha a linha do cabeçalho for($i = 0;$i < $NumeroDeLinhas; $i++){//monta o corpo da tabela $resto = $i%2; //verifica se a linha é par ou impar if($resto == 0){ $classe = 'xtabBodyTrPar'; }else{ $classe = 'xtabBodyTrImpar'; } $table .= '<tr class="'.$classe.'">'; //abre a linha for($h = 0;$h < $NumeroDeCampos;$h++){//monta as colunas de cada linha de resultado if(is_array($config['alink'])){ $id = mysql_result($resource,$i,$config['alink'][0]); $alink = str_replace('[+value+]',$id,$config['alink'][1]); }else{ $alink = ''; } $table .= '<td class="xtabBodyTD"><a class="xtabBodyTDLink" '.$alink.'>'.mysql_result($resource,$i,$h).'</a></td>';//monta cada coluna da linha de resultado } $table .= '</tr>';//fecha a linha } $table .= '</table>'; //fecha a tabela $search = '<div id="xtabSearch"><div id="xtabDivFormSearch"><form id="xtabFormSearch" method="get"> <label>Pesquisar</label> <input id="xtabFormSearchString" type="text" name="xtabSearch" value="'.$xtabSearch.'"> <select id="xtabFormSearchFields" name="xtabField">'; //inicia o formulário de pesquisa for($i = 0;$i < $NumeroDeCampos; $i++){//coloca os campos para procura if(mysql_field_name($resource,$i) == $xtabField){ $selected = 'selected'; }else{ $selected = ''; } $field = $config['labels'][$i]; $search .= '<option value="'.mysql_field_name($resource,$i).'" '.$selected.'>'.$field.'</option>'; } $search .= '</select><input id="xtabFormSearchSubmit" type="submit" value="Procurar"> </form></div></div>'; //fecha o formulário de pesquisa $footer = '<div id="xtabFooter">';//inicia o rodapé $PaginaAtual = ceil($startthis/$size)+1; $ProximaPagina = $startthis+$size; $PaginaAnterior = $startthis-$size; $PrimeiraPagina = 0; $UltimaPagina = $NumeroDeLinhasTotal-($NumeroDeLinhasTotal%$size); $array = array(//array contendo os parâmetros para a montagem da tabela 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $PrimeiraPagina, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serialized = htmlentities(serialize($array),ENT_QUOTES);//prepara $array para ser enviado por GET $footer .= '<a class="xtabFooterLinkButtons" href="?serialized='.$serialized.'&order='.$order.'&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'"><img class="xtabFooterButtons" src="'.$config['start'].'"></a>'; $array = array(//array contendo os parâmetros para a montagem da tabela 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $PaginaAnterior, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serialized = htmlentities(serialize($array),ENT_QUOTES);//prepara $array para ser enviado por GET $footer .= '<a calss="xtabFooterLinkButtons" href="?serialized='.$serialized.'&order='.$order.'&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'"><img class="xtabFooterButtons" src="'.$config['back'].'"></a>'; for($i = 0;$i < $NumeroDePaginas; $i++){//monta o rodapé da tabela $p = $i+1;//cria o número da página $start = ($p*$size)-$size; //cria o ponto de início para a p´roxima página $array = array(//array contendo os parâmetros para a montagem da tabela 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $start, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serialized = htmlentities(serialize($array),ENT_QUOTES);//prepara $array para ser enviado por GET if($p == $PaginaAtual){ $footer .= ' <span class="xtabFooterThisPage"> '.$p.' </span> '; }else{ $footer .= ' <a class="xtabFooterOtherPage" href="?serialized='.$serialized.'&order='.$order.'&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'">'.$p.'</a> '; } } $array = array(//array contendo os parâmetros para a montagem da tabela 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $ProximaPagina, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serialized = htmlentities(serialize($array),ENT_QUOTES);//prepara $array para ser enviado por GET $footer .= '<a class="xtabFooterLinkButtons" href="?serialized='.$serialized.'&order='.$order.'&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'"><img class="xtabFooterButtons" src="'.$config['forward'].'"></a>'; $array = array(//array contendo os parâmetros para a montagem da tabela 'sql' => $sql, 'order' => $order, 'size' => $size, 'start' => $UltimaPagina, 'xtabField' => $xtabField, 'xtabSearch' => $xtabSearch ); $serialized = htmlentities(serialize($array),ENT_QUOTES);//prepara $array para ser enviado por GET $footer .= '<a class="xtabFooterLinkButtons" href="?serialized='.$serialized.'&order='.$order.'&xtabField='.$xtabField.'&xtabSearch='.$xtabSearch.'"><img class="xtabFooterButtons" src="'.$config['finish'].'"></a>'; $footer .= '<a class="xtabFooterLinkButtons" href="'.$_SERVER['SCRIPT_NAME'].'"><img class="xtabFooterButtons" src="'.$config['clear'].'"></a>'; $footer .= '</div>';//fecha o rodapé $table = $search.$footer.$table; //acrescenta o formulário de pesquisa e as páginas no topo $table .= $footer;//acrescenta o rodapé à tabela $table = '<div id="xtabMainDiv">'.$table.'</div>';//insere a tabela num div return $table; //retorna o resultado da função } } ?>
Cron - Classe PHP para cálculo da diferença entre duas datas
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (8)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta