Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 5 of 5
  1. #1
    New to the CF scene
    Join Date
    Jan 2005
    Posts
    9
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Unhappy Creating previous and next links for a gallery

    Edit: So with a little help from chump2877, I got the function working without throwing errors. Now I'm having trouble with my implimentation.

    My problem is that I only want to display the current page number and the prev/next arrows.
    on the "Print navigation: line, i defined the variable for 12 items total, only one item per page, 1 active link, 0 Near by links.

    All I want is for it to display the < and > links with the current page number between them, like so:
    < 5 >

    The code to create the links from this function is:
    PHP Code:
    $pre_href 'index.php?id=brewery/brewery&id2=';
    $post_href '';
    $page_no $HTTP_GET_VARS['id2'];
    print 
    navigation($pre_href$post_href121103$page_no); 
    The page I'm trying to effect is:
    http://www.arch13.com/index.php?id=brewery&id2=1

    You can see that I have a rudimentry version working of the function and the print navigation. Howeverm it needs refining.

    The relevant code is:
    PHP Code:
     function navigation($pre_href$post_href$num_items$items_per_page$active$nearby$threshold)
    {
        
    # … is the ellipse character: "..."
        
    $space '<span class="spacer"> … '."\n\t".'</span>';

        
    # There's no point in printing this string if there are no items,
        # Or if they all fit on one page.
        
    if ($num_items && $num_items $items_per_page)
        {
            
    # STEP 1:
            # Force variables into certain values.

            # $items_per_page can't be smaller than 1!
            # Also, avoid division by zero later on.
            
    $items_per_page max($items_per_page1);

            
    # Calculate the number of listing pages.
            
    $total ceil($num_items/$items_per_page);

            
    # $active can't be higher than $total or smaller than 1!
            
    $active maxmin($active,$total), 1);

            
    # STEP 2:
            # Do the rest.

            # Get the sequence of pages to show links to.
            
    $pages navigationSequence($total$active$nearby$threshold);
            
            
    # Print a descriptive string.
            
    $first = ($active-1)*$items_per_page 1;
            
    $last  min($first+$items_per_page-1$num_items);
            if (
    $first == $last)
                
    $listing $first;
            else
                
    # – is the EN dash, the proper hyphen to use.
                
    $listing $first.'–'.$last;
            
    $r '<p class="navigation">'."\n\tShowing $listing of $num_items<br />\n";
        
            
    # Initialize the list of links.
            
    $links = array();
        
            
    # Add "previous" link.
            
    if ($active && $total 1)
                
    $links[] = '<a href="'.$pre_href.($active-1).$post_href.
                           
    '" class="prev" title="Previous">&laquo;</a>';
        
            
    # Decide how the each link should be presented.
            
    for($i=0$i<sizeof($pages); $i++)
            {
                
    # Current link.
                
    $curr $pages[$i];

                
    # See if we should any $spacer in connection to this link.
                
    if ($i>AND $i<sizeof($pages)-1)
                {
                    
    $prev $pages[$i-1];
                    
    $next $pages[$i+1];

                    
    # See if we should any $spacer *before* this link.
                    # (Don't add one if the last link is already a spacer.)
                    
    if ($prev $curr-AND $links[sizeof($links)-1] != $space)
                        
    $links[] = $space;
                }

                
    # Add the link itself!
                # If the link is not the active page, link it.
                
    if ($curr != $active)
                    
    $links[] = '<a href="'.$pre_href.$curr.$post_href.'">'.$curr.'</a>';
                
    # Else don't link it.
                
    else
                    
    $links[] = '<strong class="active">'.$active.'</strong>';

                if (
    $i>AND $i<sizeof($pages)-1)
                {
                    
    # See if we should any $spacer *after* this link.
                    # (Don't add one if the last link is already a spacer.)
                    
    if ($next $curr+AND $links[sizeof($links)-1] != $space)
                        
    $links[] = $space;
                }
            }
        
            
    # Add "next" link.
            
    if ($active $total && $total 1)
                
    $links[] = '<a href="'.$pre_href.($active+1).$post_href.
                           
    '" class="next" title="Next">&raquo;</a>';
        
            
    # Put it all together.
            
    $r .= "\t".implode($links"\n\t")."\n</p>\n";
            
    $r str_replace("\n\t".$space."\n\t"$space$r);

            return 
    $r;
        }
        else
            return 
    false;

    Last edited by arch13; 04-26-2006 at 06:23 AM. Reason: Git the function working, Now on to the implimenting

  • #2
    Senior Coder chump2877's Avatar
    Join Date
    Dec 2004
    Location
    the U.S. of freakin' A.
    Posts
    2,773
    Thanks
    19
    Thanked 155 Times in 146 Posts
    I've modified it a little, but keep getting error messages on line 2.
    What is the error message or messages that you are getting?
    Regards, R.J.

    ---------------------------------------------------------

    Help spread the word! Like my YouTube-to-Mp3 Conversion Script on Facebook !! :)
    [Related videos and tutorials are also available at my YouTube channel and on Dailymotion]
    Get free updates about new software version releases, features, and bug fixes!

  • #3
    New to the CF scene
    Join Date
    Jan 2005
    Posts
    9
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by chump2877
    What is the error message or messages that you are getting?
    I get the error message:

    Parse error: parse error, unexpected '{' in /homepages/6/d93661089/htdocs/brewery/brewery.php on line 21
    Last edited by arch13; 04-26-2006 at 03:08 AM.

  • #4
    Senior Coder chump2877's Avatar
    Join Date
    Dec 2004
    Location
    the U.S. of freakin' A.
    Posts
    2,773
    Thanks
    19
    Thanked 155 Times in 146 Posts
    are you sure that this line (line 1):

    PHP Code:
    print navigation($pre_href='index.php?id=brewery&id2=?'$post_href=''$num_items=12$items_per_page=1$active=1$nearby=0$threshold=3
    isn;t
    PHP Code:
    function navigation($pre_href='index.php?id=brewery&id2=?'$post_href=''$num_items=12$items_per_page=1$active=1$nearby=0$threshold=3
    Your code is returning a value at the end, so it would seem to indicate that this code is a user-defined function...
    Edit:

    change the first line to:

    PHP Code:
    function navigation($pre_href$post_href$num_items$items_per_page$active$nearby$threshold
    to print what the function returns for those values, do:

    PHP Code:
    print navigation('index.php?id=brewery&id2=?','',12,1,1,0,3); 
    Last edited by chump2877; 04-26-2006 at 03:23 AM.
    Regards, R.J.

    ---------------------------------------------------------

    Help spread the word! Like my YouTube-to-Mp3 Conversion Script on Facebook !! :)
    [Related videos and tutorials are also available at my YouTube channel and on Dailymotion]
    Get free updates about new software version releases, features, and bug fixes!

  • #5
    New to the CF scene
    Join Date
    Jan 2005
    Posts
    9
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by chump2877
    are you sure that this line (line 1):

    PHP Code:
    print navigation($pre_href='index.php?id=brewery&id2=?'$post_href=''$num_items=12$items_per_page=1$active=1$nearby=0$threshold=3
    isn;t
    PHP Code:
    function navigation($pre_href='index.php?id=brewery&id2=?'$post_href=''$num_items=12$items_per_page=1$active=1$nearby=0$threshold=3
    Your code is returning a value at the end, so it would seem to indicate that this code is a user-defined function...
    Thank You!
    I got it working and printing links the minute I followed your advice!
    I edited the first post to try and figure out why the links are not behaving as I expected, but thank you for helping me with the function. I suspect I made a fairly obvious mistake.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •