Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

PHP Forum


You are currently viewing our PHP Forum as a guest. Please register to participate.
Login



Freelance Jobs

Reply
Minor Pagnation issue...
Old 03-14-2011, 01:26 PM Minor Pagnation issue...
Brian07002's Avatar
Defies a Status

Posts: 2,162
Name: ...
Location: ...
Trades: 0
Hi,

Given this php code:

PHP Code:
<?php
            
/*
        Place code to connect to your DB here.
             */

            
include('config.php');    // include your code to connect to DB.

            
$tbl_name="adpeeps_ads";        //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 ad_size = '468x60'";
                
$total_pages mysql_fetch_array(mysql_query($query));
                
$total_pages $total_pages[num];

            
/* Setup vars for query. */
            
$targetpage "Animals, Pets & Accessories.php";     //your file name  (the name of this file)

            
$limit 1;              //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 remote_banner 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 green\">";

        
//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


$result 
mysql_query("SELECT * FROM adpeeps_ads WHERE ad_size = '468x60' LIMIT 1") or die(mysql_error());

echo 
"<table border=\"0\">";

while(
$row mysql_fetch_array($result)){

echo 
"<td>";
echo 
"<a href=\"http://reunitemysite.com/scripts/adpeeps/adpeeps.php?bfunction=go&uid=$row[accno]&btype=5&cid=$row[campaignid]&aid=$row[adno]\"> <img src=\"$row[remote_banner]\" title=\"$row[ad_title]\"></a>";
echo 
"</td>";
}

?>

<?=$pagination?>
Having 2 banners in the db, what is causing the same banner to display and not the other one? The pagination code displays 2 pages given I have the limit set to 1 per page. But the output is two pages, But the same banner on both pages. However, if I set the Limit to 2 instead of 1, I get both of the banners (2 different ones) on the page: confused:

Here's the link to the pagination script in action: http://www.reunitemysite.com/adverti...ies.php?page=1

Thanks!
-Brian
__________________
Made2Own

Please login or register to view this content. Registration is FREE

Last edited by Brian07002; 03-14-2011 at 02:01 PM..
Brian07002 is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 03-15-2011, 01:18 AM Re: Minor Pagnation issue...
shivaji's Avatar
Ultra Talker

Posts: 321
Trades: 0
Got this message:

Warning: mysql_connect() [function.mysql-connect]: Too many connections in /home/duckster/public_html/advertisements/premium/banners/config.php on line 6
__________________

Please login or register to view this content. Registration is FREE
- uncommon free scripts

Please login or register to view this content. Registration is FREE
- Städte, Sport, Party, Gourment, Apartments, Hotels
shivaji is offline
Reply With Quote
View Public Profile Visit shivaji's homepage!
 
Old 03-20-2011, 08:23 PM Re: Minor Pagnation issue...
Brian07002's Avatar
Defies a Status

Posts: 2,162
Name: ...
Location: ...
Trades: 0
Quote:
Originally Posted by shivaji View Post
Got this message:

Warning: mysql_connect() [function.mysql-connect]: Too many connections in /home/duckster/public_html/advertisements/premium/banners/config.php on line 6
This shouldn't be the case now, but if you come back to the page, post back and let me know.

Thanks!
Brian
__________________
Made2Own

Please login or register to view this content. Registration is FREE
Brian07002 is offline
Reply With Quote
View Public Profile
 
Old 03-21-2011, 01:37 PM Re: Minor Pagnation issue...
Super Spam Talker

Posts: 880
Name: Paul W
Trades: 0
http://www.php-mysql-tutorial.com/wi...using-php.aspx much better way to approach the problem. Bit of code fore and aft to handle pagination and you're done.

It's also good practice to explicitly close the db connection as soon as possible mysql_close($connection)
__________________

Please login or register to view this content. Registration is FREE
|
Please login or register to view this content. Registration is FREE


*** New:
Please login or register to view this content. Registration is FREE
PaulW is online now
Reply With Quote
View Public Profile
 
Reply     « Reply to Minor Pagnation issue...
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.13805 seconds with 12 queries