Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql > Scripting e Risorse utili
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 22-12-08, 14:41   #1 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
[Script] Classe per l'impaginazione

Ciao a tutti!
Per esigenza su un mio script, ho dovuto creare una semplice classe per l'impaginazione, ed ho pensato che forse potrebbe esservi utile.
Ecco la classe:
class.pagination.php

Codice PHP:
<?php
//CLASSE DI IMPAGINAZIONE
class impaginazione{
public 
$menu;
public 
$num_per_page;
public 
$ceil;
public 
$from;
public 
$query;
public 
$rows;
function 
createlink($page,$num_per_page,$query,$rows,$url){
$this->page $page;
$this->num_per_page $num_per_page;
$this->query $query;
$this->rows $rows;
$this->url $url;

$this->ceil ceil($this->rows/$this->num_per_page);
$this->from = (($this->page $this->num_per_page) - $this->num_per_page);
$this->menu "";

if(
$this->page 1)
{
$this->menu .= " <a href=\"".$this->url."&amp;page=".($page-1)."\">Indietro</a> ";
}

for(
$i 1$i <= $this->ceil$i++)
{
if((
$this->page) == $i)
{
$this->menu .= $i;
}
else
{
$this->menu .= " <a href=\"".$this->url."&amp;page=".$i."\">$i</a> ";
}
}
if(
$this->page $this->ceil)
{
$this->menu .= " <a href=\"".$this->url."&amp;page=".($page+1)."\">Avanti</a> ";
}
$this->query .= " LIMIT  ".$this->from.",".$this->num_per_page."";//COMPLETA LA QUERY
}
}
?>
Ecco l'utilizzo:

Codice PHP:
<?php
////////////////////////////
#IMPAGINAZIONE#
###########################
require "class.pagination.php";
$page = (!isset($_GET['page'])) ? $_GET['page'];//controlli necessari
$page =($page == 0) ? $_GET['page'];//controlli necessari
#Qui eseguiamo la query che recupera i dati
#Ricordate che la query non deve contenere il carattere LIMIT
$query_init ="SELECT * FROM snf_topics WHERE snf_t_forumid = '" $_GET['fs'] . "' ORDER BY snf_t_id DESC";//La nostra query(in questo caso la mia)
$action mysql_query($query_init);//ESEGUE
$rows mysql_num_rows($query_init);//Il numero di colonne, dato importantissimo
$num_per_page 10;//quanti articoli vogliamo per ogni pagina

$pag = new impaginazione();//creo nuova istanza
$link "show.php?fs=".$_GET['fs'];//La pagina su cui lo script deve agire(es index.php?var1=1 diventerà index.php?var1=1&page=1)

$pag->createlink($page,$num_per_page,$query_init,$rows,$link);

$query mysql_query($pag->query);
$menu $pag->menu;
while(
$row mysql_fetch_array($query)){
....
}
echo 
$menu;
//Formato: Indietro 1 2 3 4 Avanti

?>
Spero di essere stato utile
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.

Ultima modifica di ilnetsurfer : 22-12-08 14:43.
ilnetsurfer non in linea   Rispondi citando
Vecchio 27-12-08, 22:58   #2 (permalink)
User
 
Data di registrazione: Sep 2008
Messaggi: 96
Appena posso la provo!
ciccio6630 non in linea   Rispondi citando
Vecchio 02-09-09, 15:09   #3 (permalink)
User Newbie
 
Data di registrazione: Aug 2009
Messaggi: 1
errore

Ciao... Lo script non funziona!! Mi dà errore nella creazione della funzione... Non esiste qualche script simile a questo ma più semplice?

Ultima modifica di Leonov : 02-09-09 16:28. Motivo: Per favore, iniziare le frasi con la lettera maiuscola.
DJ_teto non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 20:24.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.