how to create multiple pages?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    how to create multiple pages?

    hi i need way of showing only a set amount of results per page with a next link and prev


    want to add this to my script on inbox,forums and online list

    i searched the site already

    #2
    A paging ? ?

    Added after 7 minutes:

    PHP Code:
    <?php
        
    /*
            Place code to connect to your DB here.
        */
        
    include('config.php');    // include your code to connect to DB.

        
    $tbl_name="";        //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 mysql_fetch_array(mysql_query($query));
        
    $total_pages $total_pages[num];
        
        
    /* Setup vars for query. */
        
    $targetpage "filename.php";     //your file name  (the name of this file)
        
    $limit 2;                                 //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 column_name FROM $tbl_name LIMIT $start$limit";
        
    $result mysql_query($sql);
        
        
    /* 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\">« previous</a>";
            else
                
    $pagination.= "<span class=\"disabled\">« previous</span>";    
            
            
    //pages    
            
    if ($lastpage + ($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 + ($adjacents 2))    //enough pages to hide some
            
    {
                
    //close to beginning; only hide later pages
                
    if($page + ($adjacents 2))        
                {
                    for (
    $counter 1$counter + ($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 - (+ ($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\">next »</a>";
            else
                
    $pagination.= "<span class=\"disabled\">next »</span>";
            
    $pagination.= "</div>\n";        
        }
    ?>

        <?php
            
    while($row mysql_fetch_array($result))
            {
        
            
    // Your while loop here
        
            
    }
        
    ?>

    <?=$pagination?>
    Last edited by analyzer; 24.04.12, 09:50.
    It's n0t that i am afraid to die. Its just that if i die, wh0 wilL loVe her as muCh as i Do?

    Comment


      #3
      Yeah thats it thank you


      i get blank where it should be guess it because my url is action=memberlist rather than a normal url but not sure
      should it be like this
      $targetpage = "index.php?action=memberlist&";*


      PHP Code:
      //////////////////////////////Memberlist

       if($action=="memberlist"){

      $nuser=$_SESSION['user_name'];
      $auser=$_SESSION['user_level'];

      if($nuser)
      {
      $userfinal=$nuser;
      }
      else
      if($auser)
      {
      $userfinal=$auser;
      }
      if(isset($userfinal))
      {

      $Members = mysql_query("SELECT * FROM users WHERE user_level ='0' ORDER BY user_id DESC ") or die(mysql_error());

      $numRowsMembers = mysql_num_rows($Members);
      if ($numRowsMembers>0){
      while($row= mysql_fetch_array($Members)){

      echo '   <img src="images/member.png" alt="."/> <a href="member_profile.php?username=' .$row['user_name'] .'">' .$row['user_name'] .'</a>';
      echo '<br/>'; 
        

          $tbl_name="users";        //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   WHERE user_level ='0' ORDER BY user_id DESC "; 
          $total_pages = mysql_fetch_array(mysql_query($query)); 
          $total_pages = $total_pages[num]; 
           
          /* Setup vars for query. */ 
          $targetpage = "index.php";     //your file name  (the name of this file) 
          $limit = 7;                                 //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 user_name FROM $tbl_name LIMIT $start, $limit"; 
          $result = mysql_query($sql); 
           
          /* 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\">« previous</a>"; 
              else 
                  $pagination.= "<span class=\"disabled\">« previous</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\">next »</a>"; 
              else 
                  $pagination.= "<span class=\"disabled\">next »</span>"; 
              $pagination.= "</div>\n";         
          } 
              while($row = mysql_fetch_array($result)) 
              { 
           
              // Your while loop here 
           
              } 
           
      echo'<?=$pagination?>';

      }
      }


      }else{
      Last edited by Matt_dowd91; 24.04.12, 10:47.

      Comment


        #4
        you have got a lot of mis-matching { } and else statements also this line:
        echo'<?=$pagination?>';
        should be
        echo $pagination;

        also would advise not to use mysql_error()

        Comment


          #5
          Originally posted by something else View Post
          you have got a lot of mis-matching { } and else statements also this line:
          echo'<?=$pagination?>';
          should be
          echo $pagination;

          also would advise not to use mysql_error()
          cheers dude working good now, whats bad about it lol >>mysql_error()

          Comment


            #6
            mysql_error();

            will just give your sql information, which maybe usefull for hackers. Just put it when u are currently editting on a page for you to be able to see error(s) and remove it after.
            It's n0t that i am afraid to die. Its just that if i die, wh0 wilL loVe her as muCh as i Do?

            Comment


              #7
              okay useful to know, I guess ill do that then tanx

              Comment

              Working...
              X