Проблем с код за странициране

cold_zero

Registered
Имам 22 записа в базата данни, направил съм скрипта да ми вади по 20 и по този начин трябва да имам 2 страници, обаче имам само 1 :(

Код:
/* Set How many results to display per page */
include "connect.php";
$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("unable to connect to the database");
mysql_select_db("$db", $db_conn) or die("unable to select the database");

$pp = "20";

/* Select the table that you want to view, you can add things like WHERE something='something' */
$table = "users";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table order by tochki desc"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);

/* Display the rows */
$chars="SET CHARACTER SET cp1251";mysql_query($chars);
$query = "SELECT* FROM $table order by tochki desc LIMIT $limitvalue, $pp";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{


echo '
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td align="center" background="./images/brick.gif" width="25%"><font face="Trebuchet MS" style="font-size: 10pt"><a href="details.php?uname='.$r[username].'">'.$r[username].'</a></font></td>
    <td align="center" background="./images/brick.gif" width="20%"><font face="Trebuchet MS" style="font-size: 10pt">'.$r[name].'</font></td>
    <td align="center" background="./images/brick.gif" width="20%"><font face="Trebuchet MS" style="font-size: 10pt">'.$r[mahala].'</font></td>
    <td align="center" background="./images/brick.gif" width="17%"><font face="Trebuchet MS" style="font-size: 10pt">'.$r[banda].'</font></td>
    <td align="center" background="./images/brick.gif" width="10%"><font face="Trebuchet MS" style="font-size: 10pt">'.$r[tochki].'</font></td>
    <td align="center" background="./images/brick.gif" width="8%"><font face="Trebuchet MS" style="font-size: 10pt"><a href="./messages.php?to='.$r[username].'" title="Изпрати съобщение до играча!"><img border="0" src="./images/m.gif"></a> <a href="./friends.php?user='.$r[username].'" title="Добави в приятели!"><img border="0" src="./images/b.gif"></a></font></td>
  </tr>
</table>
';
}

echo "<center>";
echo "<div>";
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);

$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);

if ($page != "1" && round($numofpages) != "0") {

echo str_replace("%page", round($page-1), ' <a href="'.$link.'">«««</a>  '); //or <font face="Trebuchet MS">«</font>
}

for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b>$i</b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a>  ');
}
}
}
if (round($numofpages) == "0") {
echo "[$i]";
}

if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'">»»»</a>'); //or <font face="Trebuchet MS">»</font>
echo "</div>";
}
}

/* Display the pages down the bottom */
echo '<br>';
echo 'Общо страници: '.round($numofpages).'<br>';

$stranica=per_page("?page=%page", "5");

echo $stranica; 

echo "</center>";
 
Трябва ми някакъв код при който да не ми се показват всички страници, а примерно първо 5 и като отида на 5-тата да ми се покажат примерно следващите 5...В моя случай ако показва всички страници до един месец ще има адси много и е кофти :(
 
само си го нагласи по твоята база

Код:
<?php
//server connfigure 
include "config.php";
//server connfigure
//колко резултата на страница
$pp = "40"; 
//колко резултата на страница

$page=$_GET['page'];

if(!$_GET['page'])
{
$page="1";
}

$limit = ($pp*$page)-$pp;

mysql_connect($server, $dbusername, $dbpassword)or die("1111"); 
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM function"); 

$max=mysql_numrows($redove);
$total=ceil($max/$pp);

mysql_connect($server, $dbusername, $dbpassword)or die("3333"); 
@mysql_select_db($db_name) or die("4444"); 
$query="SELECT * FROM function ORDER BY `TITLE` ASC LIMIT $limit,$pp"; 
$result=mysql_query($query); 

$num=mysql_numrows($result); 

mysql_close(); 

$i=0; 
while ($i < $num) { 

$title=mysql_result($result,$i,"title");

echo $title."<br>";

$i++; 
} 

echo "<br><br><br><br>";

//от тук започва кода за показването на страниците
if ($page > 1) { 
   $prev = ($page - 1); 
   echo "<a href=\"?page=$prev\"><font face=\"Trebuchet MS\"><<</font></a> "; 
} 
else echo "<font face=\"Trebuchet MS\"><<</font> "; 

if (!$page or ($page > $total)) { 
   $page="1"; 
} 

if ($total < 10) { 
   for($i=1 ; $i<=$total ; $i++) { 
      if ( ($page)==$i ) { 
         echo "<b>$i</b> "; 
      } 
      else { 
         echo "<a href=\"?page=".$i."\">".$i."</a> "; 
      } 
   } 
} 
else { 
   for($i=1 ; $i<=3 ; $i++) { 
      if ( ($page)==$i ) { 
         echo "<b>$i</b> "; 
      } 
      else { 
         echo "<a href=\"?page=".$i."\">".$i."</a> "; 
      } 
   } 
    
   if ($page <= 3) { 
      if ($page == 3) echo "<a href=\"?page=4\">4</a> "; 
      echo "... "; 
      for ($i=$total-2; $i<=$total; $i++) 
         echo "<a href=\"?page=".$i."\">".$i."</a> "; 
   } 
	 if ($page == 5) $parva.= "<a href=\"?page=4\">4</a> ";
    
   if ( ($page == 4) or ($page == 5) ) { 
      for ($i=$page; $i<=$page+1; $i++) { 
         if ($page == $i) echo "<b>$i</b> "; 
         else echo "<a href=\"?page=".$i."\">".$i."</a> "; 
      } 
      echo "... "; 
      for ($i=$total-2; $i<=$total; $i++) 
         echo "<a href=\"?page=".$i."\">".$i."</a> "; 
   } 
    
   if ( ($page > 5) and ($page < ($total - 4)) ) { 
      echo "... "; 
      for ($i=$page-1; $i<=$page+1; $i++) { 
         if ($page == $i) echo "<b>$i</b> "; 
         else echo "<a href=\"?page=".$i."\">".$i."</a> "; 
      } 
      echo "... "; 
      for ($i=$total-2; $i<=$total; $i++) 
         echo "<a href=\"?page=".$i."\">".$i."</a> "; 
   } 
    
   if ( $page > ($total - 5) ) { 
      echo "... "; 
      for ($i=$total-5; $i<=$total; $i++) { 
         if ($page == $i) echo "<b>$i</b> "; 
         else echo "<a href=\"?page=".$i."\">".$i."</a> "; 
      } 
   } 
} 

if ($page < $total) { 
   $next = ($page + 1); 
   echo "<a href=\"?page=$next\"><font face=\"Trebuchet MS\">>></font></a> "; 
} 
else echo "<font face=\"Trebuchet MS\">>></font>"; 
?>
 

Back
Горе