/**
* Enter description here...
*
* @param unknown_type $num
* @param unknown_type $name
* @param unknown_type $flag
* @return unknown
*/
function jumpLinks($num,$name,$flag=0)
{
$label = ( $flag )? 's':'b';
$n = $GLOBALS['table'][$name];
$b = ( isset($_GET[$label]) && $_GET[$label]>0 )? $_GET[$label] : 1;// start from
$url = $this->cutTok($_SERVER['REQUEST_URI'],$label);//-- cut &b=number from URL ---
$url = ( strstr($url,'?')? $url:$url.'?');
$num_res_pg = 20;//--- number of links on a page ---
$pg = ( $num%$n )? ($num - ($num%$n))/$n + 1 : $num/$n;//--- number of pages ---
$k = ($b - 1 - ($b - 1)%($num_res_pg*$n))/($num_res_pg*$n);//--- number of steps ---
$start = 1 + $num_res_pg*$k;//--- new start number ---
$stop = $num_res_pg + $num_res_pg*$k;//
$stop = ( $stop > $pg )? $pg : $stop;//--- new stop number ---
if ( $pg > 1 )//--- all results can't place in one page for given $n ---
{
$array['first'] = ( $b <> 1 )? ($b - $n):0;
$array['last'] = ( $b + $n - 1 < $num )? ($b + $n):0;
//
$i = 0;
for ( $j = $start; $j <= $stop; $j++ )//--- main echo loop ---
{
$begin = ($j - 1)*$n + 1;
if( $b <> $begin )//--- link must be presented ---
$tmp = array('link'=>' <a href="'.$url.'&'.$label.'='.$begin.'">'.$j.'</a> ');
else //--- no link is needed ---
$tmp = array('link'=>' <b>'.$j.'</b> ');
$links[++$i] = $tmp;
}
$array['links'] = $links;
}
$array['url'] = $url;
$array[$label] = $b;
$array['n'] = $n;
//
return $array;
}
Я с ума сойду с такой работой...