Witam. Znalazlem sobie na necie skrypt paginacji, i teraz mam maly problemik z wdrozeniem tego.
Oto skrypt:
<?php
// db passy
$tbl_name="rejestracja"; //your table name
// How many adjacent pages should be shown on each side?
$adjacents = 3;
/*
First get total number of rows in data table.
If you have a WHERE clause in your query, make sure you mirror it here.
*/
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = $total_pages[num];
/* Setup vars for query. */
$targetpage = "pagination.php"; //your file name (the name of this file)
$limit = 3; //how many items to show per page
$page = $_GET['page'];
if($page)
$start = ($page - 1) * $limit; //first item to display on this page
else
$start = 0; //if no page var is given, set start to 0
/* Get data. */
$sql = "SELECT nick_z_gry FROM $tbl_name LIMIT $start, $limit";
/* Setup page vars for display. */
if ($page == 0) $page = 1; //if no page var is given, default to 1.
$prev = $page - 1; //previous page is page - 1
$next = $page + 1; //next page is page + 1
$lastpage = ceil($total_pages/$limit); //lastpage is = total pages / items per page, rounded up. $lpm1 = $lastpage - 1; //last page minus 1
/*
Now we apply our rules and draw the pagination object.
We're actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<div class=\"pagination\">";
//previous button
if ($page > 1)
$pagination.= "<a href=\"$targetpage?page=$prev\">Poprzednia</a>";
else
$pagination.= "<span class=\"disabled\">Poprzednia</span>";
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
$pagination.= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";
}
//close to end; only hide early pages
else
{
$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
$pagination.= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"current\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "<a href=\"$targetpage?page=$next\">Nastepna</a>";
else
$pagination.= "<span class=\"disabled\">Nastepna </span>";
$pagination.= "</div>\n";
}
?>
<?php
echo '<p style="font-family:Arial;font-size:14px;margin-top:-5px;">Lista zarejestrowanych użytkowników:</p>'; {
printf("<div style='margin:auto;'> <table border='1' style='font-size:13px;font-family:Verdana;border-color:black;border-width:1px;'>
<tr>
<td style='font-size:12px;color:black;width:120px;'>Nick z gry:</td> <td style='width:400px;color:white;' class='td'><a href='index.php?page=profil&nick_z_gry=$row[nick_z_gry]'>$row[nick_z_gry]</td></a>
</tr>
</table>
</div>
", $row[nick_z_gry]);
}
echo '<p style="font-size:11px;color:white;margin-top:10px;">Kliknij na użytkownika aby zostać przekierowanym na jego profil.</p>'; ?>
<?=$pagination?>
Skrypt dziala jak nalezy , ladnie tworzy strony , ale teraz chce to wdrozyc do podstrony np. mam
mojastrona.pl/lista-uzytkownikow
i po wejsciu na ta strone ma sie wyswietlac ten skrypt , lecz tak nie jest , oto blad:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/graczepo/public_html/pagination.php on line 159
Chociaz skrypt dziala jak nalezy , wiec ten blad jest generowany bo cos jest nie tak z linkami.
Tutaj:
$targetpage = "pagination.php"; //your file name (the name of this file)
podalem adres strony , i po wejsciu np. na strona.pl/pagination.php - paginacja dziala jak nalezy , ale po wejsciu na strona.pl/lista-uzytkownikow juz nie dziala , probowalem zamienic to:
$targetpage = "pagination.php"
na lista-uzytkownikow , oraz za pomoca htaccessa zrobilem lista-uzytkownikow.php ale dalej nie dziala.