2013-04-15 15 views
6

Ciao a tutti Sto cercando di creare il mio impaginazione in seguito formatoCome risolvere Impaginazione utilizzando PHP

Vai a pagina 3 [casella di testo] Precedente 1 2 3 4 5 .... 400 Avanti

e sotto è il mio codice

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

Ora il problema è questo ..... che mostra tutti i numeri da 1 a ultima pagina ... voglio romperlo in sotto stile

1 2 3 4 5 ....400 

thanx

+0

'&& results_to_show' questo è un errore di battitura? hai usato dappertutto – Fabio

+1

@Atif Azad stai usando WordPress – Sabari

+0

sì sto usando wordpress –

risposta

3

Se si utilizza WordPress, è disponibile una funzione incorporata paginate_links per l'impaginazione.

È possibile visualizzare maggiori informazioni sullo stesso qui: http://codex.wordpress.org/Function_Reference/paginate_links.

Piuttosto che crearne uno proprio, sarà bene usare la funzione integrata che fa la stessa funzionalità di quello che vi serve.

Questo ti aiuterà a soddisfare le tue esigenze. Hai solo bisogno di passare gli argomenti corretti. mid_size è l'argomento necessario per specificare il numero di numeri di pagina da mostrare su entrambi i lati della pagina corrente, ma senza includere la pagina corrente.

UPDATE:

codice è possibile essere semplificata come di seguito:

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; 

Spero che questo aiuti :)

+0

grazie sabari in realtà sono nuovo con wordpress ... non ho idea di come usarlo. vuoi dirmi come userò qui nel mio codice codice paginate_links dal tuo link fornito –

+0

@AtifAzad Si prega di controllare il mio aggiornamento – Sabari

+0

sssshhhhhh ....... grazie Sabari ... il suo funzionamento –