View Single Post
  #74  
Old 01-16-2005, 01:49 PM
rake's Avatar
rake rake is offline
 
Join Date: Nov 2002
Posts: 311
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cinq
Unfortunately nope.
I would be interested to know too.
This is the proper way to do pagination. It's from one of my scripts, and the original code is taken right out of vbulletin. All you need to edit are the two queries, the template that is called, and the fields you want to sort by.

PHP Code:
    // globalize variables
    
globalize($_REQUEST, array(
        
'pagenumber' => INT// pagenumber
        
'perpage' => INT// results per page
        
'sortfield' => STR// field by which to sort results
        
'sortorder' => STR// order in which to sort
    
));

    if (
$sortfield == '') {
        
$sortfield 'name';
    }

    if (
$sortorder == '') {
        
$sortorder 'asc';
    }



    switch (
$sortfield)
    {
        case 
'name':
            
$sqlsort 'name';
            break;
        case 
'id':
            
$sqlsort 'id';
            break;
        default:
            
$sqlsort 'name';
            
$sortfield 'name';
    }


    if (
$sortorder != 'asc')
    {
        
$sortorder 'desc';
        
$oppositesort 'asc';
    }
    else
    {
        
// $sortorder = 'ASC';
        
$oppositesort 'desc';
    }


    
$sorturl "$_SERVER[PHP_SELF]?$session[sessionurl]";


    eval(
'$sortarrow[' $sortfield '] = "' fetch_template('forumdisplay_sortarrow') . '";');



    
$dscount $DB_site->query_first("
        SELECT COUNT(*) AS count FROM site_garment
    "
);
    
$dscount $dscount['count'];

    
// set defaults
    
sanitize_pageresults($dscount$pagenumber$perpage10020);

    
$limitlower = ($pagenumber 1) * $perpage+1;
    
$limitupper = ($pagenumber) * $perpage;
    
$counter 0;

    if (
$limitupper $dscount)
    {
        
$limitupper $dscount;
        if (
$limitlower $dscount)
        {
            
$limitlower $dscount-$perpage;
        }
    }
    if (
$limitlower <= 0)
    {
        
$limitlower 1;
    }


    
$spheres $DB_site->query("SELECT * FROM site_garment ORDER BY $sqlsort $sortorder LIMIT ". ($limitlower-1) . ", $perpage");

    
$counter 0;
    
$resultbits '';
    while (
$grid $DB_site->fetch_array($spheres) AND $counter++ < $perpage)
    {

        
$grid[bonuses] = nl2br($grid[bonuses]);
        eval(
'$dresspheres .= "' fetch_template('site_ffx2_dsp_grid') . '";');



    }  
// end while
    
$pagenav construct_page_nav($dscount"$_SERVER[PHP_SELF]?$session[sessionurl]""&amp;pp=$perpage&order=$sortorder&amp;sort=$sortfield"); 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03914 seconds
  • Memory Usage 1,814KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete