Šta je novo?

Listanje web strana

srdjan_r

Čuven
Učlanjen(a)
16.07.2003
Poruke
382
Poena
620
Treba mi uputstvo ili jos bolje primer php koda za listanje stranica.
Mislim, ono tipa "1,2,3...last>>", ako smo se razumeli.
Ah, da, stim sto bi to trebalo da lista iz sql baze unose koji postoje u njoj, puneci tabelu koja se nalazi na web strani. :?:
 
Ilija Studen je napisao(la):
...



Jedna na ES, jedna na Bench pa gde prvo dibijes odgovor...

Pa treba "mobilisati" sto vise ljudi za resavanje problema :mrgreen:
 
class FromToEnd
{
var $fromItem;
var $endItem;
var $startPage;
var $endPage;
}


function GetRange($num_of_rows, $selectPage, $SCOPE )
{
$range = new FromToEnd;
$iStartEx;
$countPage;
define ("VISIBLE_COUNT", 10);


/*get number of pages*/
if (fmod($num_of_rows, $SCOPE) != 0)
{
$countPage = intval($num_of_rows / $SCOPE) + 1;
}
else {
$countPage = $num_of_rows / $SCOPE;
}

/*calc first page*/
$range->startPage = $selectPage - (VISIBLE_COUNT / 2);
if ($range->startPage < 1)
$range->startPage = 1;

/*calc last visible page link*/
$range->endPage = $range->startPage + VISIBLE_COUNT - 1;
if ($range->endPage > $countPage)
$range->endPage = $countPage;

/*modify start page*/
if ($range->endPage == $countPage)
{
$iStartEx = $range->endPage - VISIBLE_COUNT + 1;
if ($iStartEx < $range->startPage)
{
if ($iStartEx < 1)
$range->startPage = 1;
else
$range->startPage = $iStartEx;
}
}

/*calc item scope*/
if ($selectPage > 1)
{
$range->fromItem= $selectPage * $SCOPE - $SCOPE;
$range->endItem = $range->fromItem + $SCOPE;
if ($range->endItem > $num_of_rows)
$range->endItem -= ($range->endItem - $num_of_rows);
}
else
{
$range->fromItem = 0;
$range->endItem = $SCOPE;
if ($range->endItem > $num_of_rows)
$range->endItem -= ($range->endItem - $num_of_rows);

}

return $range;


}// end function GetRange

function GridMenu($num_of_rows, $Pages, $appPath, $range, $SCOPE)
{
$strCreateTable;
$num_of_pages;
$intPage;

// set pages
if ($Pages < 1)
$Pages = 1;

// create navigate table
if ($num_of_rows == 0)
{
$strCreateTable = "<span align='center'>no items</span>";
}
elseif ($num_of_rows > $SCOPE)
{
if (fmod($num_of_rows,$SCOPE) != 0)
{
$num_of_pages = int($num_of_rows / $SCOPE) + 1;
$strCreateTable = "<table class='tablenav' width='100%'>";
$strCreateTable = $strCreateTable."<tr><td align='left'><b>Number of pages:</b> $num_of_pages </td>";
$strCreateTable = $strCreateTable."<td align='center'><b>Items per page:</b> ".($range->endItem - $range->fromItem)."</td>";
$strCreateTable = $strCreateTable."<td align='right'><b>Current page:</b> $Pages </td></tr>";

if ($Pages <= 1)
{
$strCreateTable = $strCreateTable."<tr><td>&</td><td align='center'><b>Page:</b>";
}
else
{
$strCreateTable = $strCreateTable."<tr><td align='left' valign='bottom'><a href='$appPath?page=".($Pages - 1)."'><<< back</a></td>";
$strCreateTable = $strCreateTable."<td align='center'><b>Page:</b>";
}

// scope
for ($intPage = $range->startPage; $intPage <= $range->endPage; $intPage++)
{
$strCreateTable = $strCreateTable."<a href='$appPath?page=$intPage'><u>$intPage</u></a>&&";
}


if (($Pages * $SCOPE) >= $num_of_rows)
{
$strCreateTable = $strCreateTable."</td><td>&</td></tr></table>";
}
else
{
$strCreateTable = $strCreateTable."</td><td align='right' valign='bottom'><a href='$appPath?page=".($Pages + 1)."'>next >>></a></td></tr></table>";
}
}
else
{
$num_of_pages = $num_of_rows / $SCOPE;
$strCreateTable = "<table class='tablenav' width='100%'>";
$strCreateTable = $strCreateTable."<tr><td><b align='left'>Number of pages:</b> $num_of_pages </td>";
$strCreateTable = $strCreateTable."<td align='center'><b>Items per page:</b>".($range->endItem - $range->fromItem)."</td>";
$strCreateTable = $strCreateTable."<td align='right'><b>Current page:</b> $Pages </td></tr>";

if ($Pages <= 1)
{
$strCreateTable = $strCreateTable."<tr><td>&</td><td align='center'><b>Page:</b>";
}
else
{
$strCreateTable = $strCreateTable."<tr><td align='left' valign='bottom'><a href='$appPath?page=".($Pages - 1)."'><<< back</a></td>";
$strCreateTable = $strCreateTable."<td align='center'><b>Page:</b>";
}

// scope
for ($intPage = $range->startPage; $intPage <= $range->endPage; $intPage++)
{
$strCreateTable = $strCreateTable."<a href='$appPath?page=$intPage'><u>$intPage</u></a>&&";
}

if (($Pages * $SCOPE) >= $num_of_rows)
{
$strCreateTable = $strCreateTable."</td><td>&</td></tr></table>";
}
else
{
$strCreateTable = $strCreateTable."</td><td align='right' valign='bottom'><a href='$appPath?page=".($Pages + 1)."'>next >>></a></td></tr></table>";
}
}
}
else
{
$num_of_pages = 1;
$strCreateTable = "<table class='tablenav' width='100%'>";
$strCreateTable = $strCreateTable."<tr><td><b align='left'>Number of pages:</b> $num_of_pages </td>";
$strCreateTable = $strCreateTable."<td align='center'><b>Items per page:</b> ".($range->endItem - $range->fromItem)."</td>";
$strCreateTable = $strCreateTable."<td align='right'><b>Current page:</b> $Pages </td></tr></table>";
}

return $strCreateTable;
}// end function GetMenu
 
Hmmm, zaboravio sam da napomenem da je ovo deo mog scripta. Vidi sta tebi treba pa modifikuj prema svojim potrebama.
 
Vrh Dno