tableConstructor
Publicado por EVERTON DA ROSA 28/02/2007
[ Hits: 4.908 ]
Homepage: http://everton3x.github.io
Este script PHP gera uma tabela de forma automática com dados de um banco no MySQL.
Características:
- Pode ser ativada na página apenas com uma linha de código;
- Não há limite de campos a serem exibidos;
- Possui paginação automática e caixa de busca com suporte a caracter
coringa;
- Mostra as linhas com duas cores intercaladas.
- Envia o conteúdo da célula selecionada para outra página para que seja manipulada.
<? mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('information_schema') or die(mysql_error()); function tableConstructor($tabela,$campos,$cores,$extra,$np,$to){ //monta caixa de busca $array=explode(',',$campos); while(list($k,$c)=each($array)){ $cbuscar.='<input name="campo" type="radio" value="'.$c.'">'.strtoupper($c).'<br>'; }//fim while campos de busca $cxbuscar='<fieldset><legend>Buscar</legend><form action="" method="get" name="fbusca"> <label for buscar>Texto para buscar (Use "%" como caracter coringa)</label> <input id="buscar" name="buscar" type="text" size="25"><input name="" type="submit" value="Buscar"><br> '.$cbuscar.' </form></fieldset>'; echo $cxbuscar; //fim caixa de busca //monta sql $sql="SELECT $campos FROM $tabela"; if(isset($_GET[where])){ $where=$_GET[where]; }elseif(isset($_GET[buscar]) && isset($_GET[campo])){ $array=explode(" ",$_GET[buscar]); $campo=$_GET[campo]; $where=" WHERE"; while(list($k,$p)=each($array)){ $where.=" $campo LIKE '$p' AND"; }//fim while where $where=substr($where,0,-3); }else{ $where=''; }//fim if where $where=stripslashes($where); $sql.=" $where"; if(!isset($_GET[extra])){ }else{ $extra=$_GET[extra]; }//fim if extra $sql.=" $extra"; if(!isset($_GET[order])){ $order="ORDER BY $campos ASC"; }else{ $order=$_GET[order]; } $sql.=" $order"; $sqlaux=$sql; if(!isset($_GET[limit])){ $limit=" LIMIT 0,$np"; }else{ $a=$_GET[limit]; $limit=$a; } $sql.=$limit; //fim montagem sql echo "<fieldset><legend>Sua consulta no MySQL foi:</legend><code>$sql</code></fieldset>"; //monta paginação $paginas='<a href="?">Todos</a>'; $q=mysql_query($sqlaux); $nl=mysql_num_rows($q); $n=$nl/$np; $limit=" LIMIT 0,$np"; $ctrl=0; while($ctrl<$n){ $ctrl++; $paginas.='[<a href="?where='.$where.'&extra='.$extra.'&order='.$order.'&limit='.$limit.'">'.$ctrl.'</a>]'; //muda o limit $limita=substr($limit,0,7); $limitb=substr($limit,7); $limitc=explode(',',$limitb); $limitd=$limitc[0]+$np; $limite=$limitd.','.$np; $limit=$limita.' '.$limite; }//fim while paginação echo "<fieldset>O total de itens do resultado é $nl distribuídos em $ctrl páginas</fieldset>"; echo "<fieldset>$paginas</fieldset>"; // montagem da tabela $q=mysql_query($sql); $table='<fieldset><table width="100%" border="0"><tr>'; //monta título //'[<a href="?where='.$where.'&extra='.$extra.'&order='.$order.'&limit='.$limit.'">'.$ctrl.'</a>]'; $acampos=explode(',',$campos); while(list($k,$f)=each($acampos)){ $table.='<td align="center">[<a href="?where='.$where.'&extra='.$extra.'&order=ORDER BY '.$f.' ASC&limit= LIMIT 0,'.$np.'">A</a>][<a href="?where='.$where.'&extra='.$extra.'&order=ORDER BY '.$f.' DESC&limit= LIMIT 0,'.$np.'">D</a>]<strong>'.strtoupper($f).'</strong></td>'; }//fim while campos $table.='</tr>'; //monta linhas do resultado $bcampos=explode(',',$campos); $num=2; while($result=mysql_fetch_array($q)){ $index=$num % 2; $num++; $cor=$cores[$index]; $table.='<tr bgcolor="'.$cor.'">'; while(list($k,$g)=each($bcampos)){ $dado=$result[$g]; $table.='<td onClick="javascript:location.href=\''.$to.'?'.$g.'='.$dado.'\'">'.$dado.'</td>'; }//fim while colunas reset($bcampos); $table.='</tr>'; }//fim while linhas $table.='</table></fieldset>'; echo $table; //fim tabela echo "<fieldset>$paginas</fieldset>"; //fim paginação }//fim função ?> <html> <head> <title>tableConstructor</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <? //tableConstructor("nome da tabela","campos que vão aparecer na consulta, separados por vírgula",array("cor1","cor2"),"opções extras da consulta","nr de resultados por página","página de destino para manipular uma linha escolhida"); tableConstructor("COLLATIONS","ID,COLLATION_NAME,CHARACTER_SET_NAME",array("#CCCCCC","#FFFFFF")," GROUP BY CHARACTER_SET_NAME","25","teste.php"); ?> </body> </html>
Cria gráficos de consumo de CPU e Memória a partir de arquivos.
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Monitoramento simples de servidores [versão 1.0] (corrigido)
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Formatando cartão de memoria que nao formata[AJUDA] (18)
Primeira vez utilizando Linux Ubuntu 22.04 e já tenho problemas… (5)
warsaw parou de funcionar após atualização do sistema (solução) (1)
Separar trafego da VPN da VPS (0)
Desde que seja DDR3, posso colocar qualquer memória? [RESOLVIDO] (6)