2013-04-15 2 views
6

Hallo allerseits mit iwie Paginierung Fix PHP

Gehe zu Seite 3 [text-box] Zurück 1 2 3 4 5 .... 400 Nächste

im folgenden Format meine Paginierung zu schaffen versuche und unten ist mein Code

   if(isset($_REQUEST['limit_start']) && $_REQUEST['limit_start'] > 0) $limit_start = $_REQUEST['limit_start']; 
     else $limit_start = 0 ; 
     if(isset($_REQUEST['results_to_show'])) $results_to_show= $_REQUEST['results_to_show']; 
     else $results_to_show = 100; 

     if(($limit_start-$results_to_show)>=0) 
     $pagination.='<a href="details-inventory.php?limit_start='.($limit_start-$results_to_show).'&&results_to_show='.$results_to_show.'" >Previous</a> | '; 

      if (isset($_REQUEST['submit']) && $_REQUEST['submit'] != "")$search_limited = 1; 
      else $search_limited = 0; 

     global $wpdb; 
     $sql='SELECT count(*) 
     FROM `inventory_location` '; 

     $data= $wpdb->get_results($sql,ARRAY_A); 
     $row_count= $data[0]['count(*)']; 

     for($number=(($limit_start/$results_to_show)+1);$number<($row_count/$results_to_show);$number++)//($row_count/$results_to_show);$number++)($limit_start/$results_to_show)+ 
     $pagination.= '<a href="details-inventory.php?limit_start='.($number*$results_to_show).'&&results_to_show='.$results_to_show.'" >'.$number.'</a> | '; 

     $pagination.= ' <a href="details-inventory.php?limit_start='.($limit_start+$results_to_show).'&&results_to_show='.$results_to_show.'" >Next </a> <br />'; 

das Problem ist jetzt das ..... es alle Zahlen von 1 bis letzte Seite zeigen ... ich will es brechen in unten Stil

1 2 3 4 5 ....400 

danke

+0

'&& results_to_show' ist dies ein Tippfehler? Sie benutzten überall – Fabio

+1

@Atif Azad benutzen Sie WordPress – Sabari

+0

ja ich benutze wordpress –

Antwort

3

Wenn Sie WordPress verwenden, gibt es eine eingebaute Funktion paginate_links für Seitenumbruch.

Sie können weitere Informationen über das gleiche hier sehen: http://codex.wordpress.org/Function_Reference/paginate_links.

Anstatt eigene zu erstellen, wird es gut sein, integrierte Funktion zu verwenden, die die gleiche Funktionalität erfüllt, die Sie benötigen.

Dies wird Ihnen helfen, Ihren Bedürfnissen gerecht zu werden. Sie müssen nur die richtigen Argumente übergeben. mid_size ist das Argument, das Sie angeben müssen, wie viele Seitennummern auf jeder Seite der aktuellen Seite angezeigt werden sollen, die aktuelle Seite jedoch nicht.

UPDATE:

Code Sie können wie unten vereinfacht werden:

global $wpdb; 

//get the total count 
$total_count = $wpdb->get_var('SELECT count(*) FROM `inventory_location`'); 

//number of results to be shown per page 
$results_to_show_per_page = 100; 

//specify the number of page numbers to be shown on each side of the current page 
$mid_size = 3; 

//check whether the query argument page is set and get the current page 
if (isset($_GET['page'])) 
    $page = abs((int)$_GET['page']); 
else 
    $page = 1; 

//generate page links 
$pagination_links = paginate_links(array(
          'base' => add_query_arg('page', '%#%'), 
          'total' => ceil($total_count/$results_to_show_per_page), 
          'current' => $page, 
          'mid_size'=> $mid_size 
        )); 


echo $pagination_links; 

this helps :)

+0

thanx sabari eigentlich bin ich mit wordpress neu ... keine Ahnung, wie man es benutzt. Würdest du bitte sagen mir, wie würde ich hier in meinem Code paginate_links Code von Ihrem angegebenen Link verwenden –

+0

@AtifAzad Bitte überprüfen Sie mein Update – Sabari

+0

sssshhhhhh ....... danke Sabari ... seine Arbeit –