how to create PHP loop For pagination ?

Discussion in 'PHP' started by mbwani, Jul 14, 2012.

  1. #1
    :confused:i want to change the pagination of my movie website to DIGG STYLE PAGINATION i did all the necessary steps but i got stick to the final step which says "create loop for the pagination" all the description is given in the above linked page. i have created the new php page (pagination.php) on my server.
    plz help me how can i make this active on my website:

    pagination.php is :

    
    <?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 < 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";        
        }
    ?>
    
    
        <?php
            while($row = mysql_fetch_array($result))
            {
        
            // Your while loop here
        
            }
        ?>
    
    
    <?=$pagination?>
        
    
    Code (markup):
    ..............................................................................................................................
    it asks to set the following :
    php.jpg
     
    Last edited: Jul 14, 2012
    mbwani, Jul 14, 2012 IP
  2. EricBruggema

    EricBruggema Well-Known Member

    Messages:
    1,740
    Likes Received:
    28
    Best Answers:
    13
    Trophy Points:
    175
    #2
    I don't realy get what you want.

    But next time put your code between '[code ]' tags!!!
     
    EricBruggema, Jul 15, 2012 IP
  3. mbwani

    mbwani Peon

    Messages:
    9
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    actually i mean to say. i want to add PAGINATION to my website e.g; "back..123456....next" below the posts such that a user can easily navigate through pages. i then googled the pagination which i think is best the script for that is the above script and i already added css to my theme ..but it does not work at all....
    as i am not able to set the php code. the image below the code shows the 6 lines of the code which i need to edit so that it works .. but i can't understand how to edit...
    so plz help me to edit the php code ..
     
    mbwani, Jul 15, 2012 IP
  4. mastjaat

    mastjaat Member

    Messages:
    64
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    36
    #4
    sorry i am not understand but i post an example it is useful to you...
     
    mastjaat, Jul 15, 2012 IP
  5. mastjaat

    mastjaat Member

    Messages:
    64
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    36
    #5
    <?php
    if(isset($_POST['upload']))
    {
    $path="image/";
    $path=$path.$_FILES['f_nm']['name'];
    if($_FILES['f_nm']['size']>0)
    {
    move_uploaded_file($_FILES['f_nm']['tmp_name'],$path);
    echo"The Image ". basename($_FILES['f_nm']['name'])." uploaded";
    }
    }
    /////////READING IMAGE'S NAME FROM IMAGE DIRECTORY/////////

    $dp=opendir("image");
    while($fn=readdir($dp))
    {
    if($fn!='.'&&$fn!='..'&&$fn!='Thumbs.db')
    $fnm[]=$fn;
    }


    ?>
    <form action="" method="post" enctype="multipart/form-data">
    <table width="33%" border="0" align="center" bgcolor="#99CCCC">
    <tr>
    <td height="258"><center>
    <?php
    $tot=count($fnm);
    $no_row=ceil($tot/5);
    $i=1;
    echo"<table>";
    for($r=1;$r<=$no_row;$r++)
    {
    echo "<tr>";
    for($c=1;$c<=5&&$i<=$tot;$i++,$c++)
    {
    list($k,$v)=each($fnm);
    echo "<td><img src='image/$v' height='50' width='50'></td>";
    }
    echo "</tr>";
    }
    echo"</table>";
    ?></center>
    </td>
    </tr>
    <tr>
    <td height="68"><table width="312" border="0">
    <tr>
    <td width="81">Upload File </td>
    <td width="221"><input type="file" name="f_nm" /></td>
    </tr>
    <tr>
    <td><input name="upload" type="submit" id="upload" value="Upload" /></td>
    <td>&nbsp;</td>
    </tr>
    </table></td>
    </tr>
    </table>
    </form>
     
    mastjaat, Jul 15, 2012 IP