colunista rojoel amaral
todas as colunas
function paginador(&$rst, $regs=20, $extra="", $ancora=""){
$pag = isset($_GET["pag"])?(integer)$_GET["pag"]:1;
$pag_atual = $pag < 1 ? 1 : $pag;
$ancora = "#".str_replace("#","",$ancora);
$cls = "";
if(!isset($rst))return "Resultset não definido!";
$total_regs = @mysql_num_rows($rst);
$pages = ceil($total_regs / $regs);
if($pag_atual > $pages or $pages == 1)
return '
';
if($total_regs > $regs)
@mysql_data_seek($rst,$regs * ($pag_atual - 1));
$url = $_SERVER["QUERY_STRING"].array2query($_POST);
$url = preg_replace("/[a-z0-9_\-]+\=\&/i","",$url);
if($extra!=""){
session_start();
$extra = preg_replace("/^&?(.*?)&?$/","&\\1",$extra);
$url = str_replace($_SESSION["qrystr"],"",$url) & $extra;
$_SESSION["qrystr"] = $extra;
}
$url = $_SERVER["PHP_SELF"]."?".preg_replace("/&?pag=\d*/","",$url);
$url = preg_replace(array("/\?&+/","/&+/"),array("?","&"),"$url&pag");
$ini = ($pages > 5) ? (floor(($pag_atual - 1) / 5) * 5) + 1 : 1;
$fim = ($pages >= ($ini + 5)) ? $ini + 5 : $pages + 1;
$saida = '';
return $saida;
}
function array2query($arr){
$qs = "";
while(list($key, $val) = each($arr))
$qs .= "&$key=$val";
return $qs;
}
?>