Как да направя това със страницирането

smoke

Registered
Здравейте виждал съм в сайтове като замунда, че страницирането не показва всички резултати ами примерно страница 1 2 3 4 ..... 10 12 13 14 15 и тнт дефакто ако има много страници то ги съкратява за да може да не се набива на очи как мога да го направя със следния код :

PHP:
							for($i=0;$i<$max_pages;$i++) {

							if($pages != $i) {
								echo '<li><a href="?page='.$i.'">'.($i+1).'</a></li>';
							} else {
								echo '<li class="current">'.($i+1).'</li>';
							}

							}
							?>
 
Ето страницирането на моята система за коментари.
PHP:
<?php
$pp = "8"; 
//колко резултата на страница 
$page=@$_GET['ppage']; //присвояваме стойността на page 
if(@!$_GET['ppage']) //ако не е взета page да върне 1-ца 
{ 
$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 $table_name"); 
$max=mysql_numrows($redove); //преброяваме редовете 
$total=ceil($max/$pp); //пресмятаме броя на страниците 
mysql_connect($server, $dbusername, $dbpassword)or die("3333"); 
@mysql_select_db($db_name) or die("4444"); 
mysql_query("SET names UTF8");
$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT $limit,$pp"; 
$result=mysql_query($query); 
$num=mysql_numrows($result); 
mysql_close(); 




         


$i=0; 
while ($i < $num) { 
$data=mysql_result($result,$i,"avtor"); 
$data1=mysql_result($result,$i,"komentar"); 
$data2=mysql_result($result,$i,"data");
$text = "$data1";

$newtext = wordwrap($text, 50, "\n", true);

$bbcode = $newtext;
$bbcode=str_replace(":d", "<img src='icon/bv000053.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":D", "<img src='icon/bv000053.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":@", "<img src='icon/angry2.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace("8-)", "<img src='icon/buff.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace("(blush)", "<img src='icon/bv000059.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace("(sun)", "<img src='icon/sun.png' height='15' width='15'>", $bbcode);
$bbcode=str_replace(";)", "<img src='icon/wink15.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":p", "<img src='icon/nyam.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":P", "<img src='icon/nyam.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":)", "<img src='icon/smile39.jpg' height='15' width='15'>", $bbcode);
$bbcode=str_replace(";(", "<img src='icon/sad94.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace("(h)", "<img src='icon/heartbeat.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace("(flag)", "<img src='icon/flag_bg.gif' height='15' width='15'>", $bbcode);
$bbcode=str_replace(":*", "<img src='icon/love0040.gif' height='15' width='15'>", $bbcode);


$bbcode=str_replace("(idk)", "<img src='icon/dontknow.gif' height='15' width='15'>", $bbcode);

$bbcode=str_replace("(giggle)", "<img src='icon/giggle.gif' height='15' width='15'>", $bbcode);

echo 
"<table border='0'>
<tr><td><font color='#0077b4' size='2'>$data:</font></td></tr>
<tr><td><font color='#444' size='2'>$bbcode</td></tr>
<tr><td><font color='#999' size='1'>$data2</font></td></tr>
</table>";
$i++; 
 

}

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

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

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<font size='3'>$i</font>"; 
} 
else { 
echo "<a href=\"?ppage=".$i."\">".$i."</a> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<font size='3'>$i</font> "; 
} 
else { 
echo "<a href=\"?ppage=".$i."\"><font size='3'>".$i."</font></a> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo "<a href=\"?ppage=4\">4</a> "; 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a href=\"?ppage=".$i."\"><font size='3'>".$i."</font></a> "; 
} 
if ($page == 5) $parva.= "<a href=\"?ppage=4\">4</a> "; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<font size='3'>$i</font>"; 
else echo "<a href=\"?ppage=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a href=\"?ppage=".$i."\"><font size='3'>".$i."</font></a> ";
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo "... "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<font size='3'>$i</font>"; 
else echo "<a href=\"?ppage=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a href=\"?ppage=".$i."\"><font size='3'>".$i."</font></a> ";
} 

if ( $page > ($total - 5) ) { 
echo "... "; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<font size='3'>$i</font>"; 
else echo "<a href=\"?ppage=".$i."\">".$i."</a> "; 
} 
} 
} 

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

Back
Горе