Странициране - предложения!

streleca_stz

Registered
Здравейте! Искам да ви попитам дали можеше да ми предложите някакво хубаво странициране за сайта ми, защото вече не ми остана място да се показват страниците..

Значи моят сайт е така в момента:
1 2 3 4 5 6...

И искам да ви попитам дали има странициране което може да направи страниците да се поприберат :
1, 2, 3 ... 25, 26, 27 ?

И например когато стигне до 3 в случая да се изкарват скритите страници в многоточието и предишните пак да се скриват..

Нещо като в замунда :D Ох дано да сте ме разбрали, защото не ме бива особено в обясненията :D
 
Моля за извинвние но не помня кой е източника но работи.


демо удома

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>PAGINATION СТРАНИЦИРАНЕ</title>
          <style>
               .paginate {
                    font-family:Arial, Helvetica, sans-serif;
                    padding: 3px;
                    margin: 3px;
               }

               .paginate a {
                    padding:2px 5px 2px 5px;
                    margin:2px;
                    /*                border:1px solid #999;*/
                    border:3px solid purple;
                    text-decoration:none;
                    color: #666;
               }
               .paginate a:hover, .paginate a:active {
                    border: 1px solid #999;
                    color: #000;
               }
               .paginate span.current {
                    margin: 2px;
                    padding: 2px 5px 2px 5px;
                    border: 1px solid #999;

                    font-weight: bold;
                    background-color: #999;
                    color: #FFF;
               }
               .paginate span.disabled {
                    padding:2px 5px 2px 5px;
                    margin:2px;
                    border:1px solid #eee;
                    color:#DDD;
               }

               li{
                    padding:4px;
                    margin-bottom:3px;
                    background-color:#FCC;
                    list-style:none;}

               ul{margin:6px;
                  padding:4px;}

          </style>
     </head>
     <body>
          <?php
          ///////////////////////////////////////////////
          $tableName = "artikuli";
          $targetpage = "index.php";
          $limit = 10;
          $orderby="name_artikuli";

          $query = "SELECT COUNT(*) as num FROM $tableName";
          $total_pages = mysql_fetch_array(mysql_query($query));
          $total_pages = $total_pages[num];

          $stages = 3;
          $page = mysql_escape_string($_GET['page']);
          if ($page) {
               $start = ($page - 1) * $limit;
          } else {
               $start = 0;
          }

          // Get page data
          $query1 = "SELECT * FROM $tableName  order by $orderby  LIMIT $start, $limit";
          $result = mysql_query($query1);

          // Initial page num setup
          if ($page == 0) {
               $page = 1;
          }
          $prev = $page - 1;
          $next = $page + 1;
          $lastpage = ceil($total_pages / $limit);
          $LastPagem1 = $lastpage - 1;


          $paginate = '';
          if ($lastpage > 1) {
               $paginate .= "<div class='paginate'>";
               // Previous
               if ($page > 1) {
                    $paginate.= "<a href='$targetpage?page=$prev'>previous</a>";
               } else {
                    $paginate.= "<span class='disabled'>previous</span>";
               }



               // Pages
               if ($lastpage < 7 + ($stages * 2)) { // Not enough pages to breaking it up
                    for ($counter = 1; $counter <= $lastpage; $counter++) {
                         if ($counter == $page) {
                              $paginate.= "<span class='current'>$counter</span>";
                         } else {
                              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                         }
                    }
               } elseif ($lastpage > 5 + ($stages * 2)) { // Enough pages to hide a few?
               // Beginning only hide later pages
                    if ($page < 1 + ($stages * 2)) {
                         for ($counter = 1; $counter < 4 + ($stages * 2); $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                         $paginate.= "...";
                         $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                         $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
                    }
                    // Middle hide some front and some back
                    elseif ($lastpage - ($stages * 2) > $page && $page > ($stages * 2)) {
                         $paginate.= "<a href='$targetpage?page=1'>1</a>";
                         $paginate.= "<a href='$targetpage?page=2'>2</a>";
                         $paginate.= "...";
                         for ($counter = $page - $stages; $counter <= $page + $stages; $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                         $paginate.= "...";
                         $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                         $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
                    }
                    // End only hide early pages
                    else {
                         $paginate.= "<a href='$targetpage?page=1'>1</a>";
                         $paginate.= "<a href='$targetpage?page=2'>2</a>";
                         $paginate.= "...";
                         for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                    }
               }

               // Next
               if ($page < $counter - 1) {
                    $paginate.= "<a href='$targetpage?page=$next'>next</a>";
               } else {
                    $paginate.= "<span class='disabled'>next</span>";
               }

               $paginate.= "</div>";
          }
          echo $total_pages . ' Results';
          echo $paginate;
          ?>
     </body>
</html>
 

Back
Горе