Categorias

Construtor de tabelas – TableConstructor

Esta função cria uma tabela baseada numa consulta mysql com as seguintes características:
Paginação com número de linhas por página configurável;
Caixa de busca nos campos utilizados na consulta;
Linhas com cores alternadas configuráveis.

'.strtoupper($c).'
'; }//fim while campos de busca $cxbuscar='
Buscar

'.$cbuscar.'
'; 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 "
Sua consulta no MySQL foi:$sql
"; //monta paginação $paginas='Todos'; $q=mysql_query($sqlaux); $nl=mysql_num_rows($q); $n=$nl/$np; $limit=" LIMIT 0,$np"; $ctrl=0; while($ctrl<$n){ $ctrl++; $paginas.='['.$ctrl.']'; //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 "
O total de itens do resultado é $nl distribuídos em $ctrl páginas
"; echo "
$paginas
"; // montagem da tabela $q=mysql_query($sql); $table='
'; //monta título //'['.$ctrl.']'; $acampos=explode(',',$campos); while(list($k,$f)=each($acampos)){ $table.=''; }//fim while campos $table.=''; //monta linhas do resultado $bcampos=explode(',',$campos); $num=2; while($result=mysql_fetch_array($q)){ $index=$num % 2; $num++; $cor=$cores[$index]; $table.=''; while(list($k,$g)=each($bcampos)){ $dado=$result[$g]; $table.=''; }//fim while colunas reset($bcampos); $table.=''; }//fim while linhas $table.='
[A][D]'.strtoupper($f).'
'.$dado.'
'; echo $table; //fim tabela echo "
$paginas
"; //fim paginação }//fim função ?> tableConstructor

Arquivos para Download:

tableConstructor.zip