Manuali.it
Ciao e Benvenuto/a nel Forum di Manuali.it !
Non sei registrato? Registrati subito cliccando QUI! E utilizza tutte le funzionalita' del sito!
Ci vediamo sul Forum !
Lo Staff di Manuali.it
Oggi è mar mag 22, 2012 8:25 pm

Tutti gli orari sono UTC +2 ore




Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 
Autore Messaggio
 Oggetto del messaggio: paginazione
MessaggioInviato: mer gen 19, 2011 8:30 pm 
Non connesso
Novizio
Novizio
Avatar utente

Iscritto il: mer dic 15, 2010 1:07 am
Messaggi: 2
Località: cesena
ciao...ho bisogno di aiuto, ho trovato uno scripto di paginazione che mi è stato molto utile e funziona, però ora mi si presenta il problema che devo limitare il numero di record da vislualizzare nella paginazione (ad esempio nella tabella le righe sono 70 ma in questo caso quelle da estrarre sono solo 28 per una pagina php, mentre su di un'altra pagina deve cominciare a d estrarre dalla 29 fino al 70 e visualizzare quindi nel primo caso da 1 a 28, nel secondo da 1 a 31)
ho provato aggiungendo LIMIT nella query
$query = "SELECT COUNT(*) FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT 30";
per il primo caso, ma nella visualizzazione delle pagine appaiono sempre fino alla 70
e nel secondo sempre con LIMIT
$query = "SELECT COUNT(*) FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT 29, 32";
nel secondo caso, ma mi dà errore nella query
riporto qui sotto lo script:
<?php
include '../../../paginazione.php';
$righe_per_pagina = 1;
$url_base = "cannaregio.php";
$pagine_vicine = 4;
// C A L C O L O D E L N U M E R O D I P A G I N E
//ricavo il numero totale di record
$query = "SELECT COUNT(*) FROM venezia z, immagini i WHERE z.img_id = i.id";
$result = mysql_query($query);
// record complessivi
$tot_righe = mysql_result($result,0);
// totale pagine
$tot_pagine = ceil($tot_righe / $righe_per_pagina);
// P A G I N A C O R R E N T E
$pagina_corrente = isset($_GET['page']) ? (int)$_GET['page'] : 1;
// se la pagina corrente è minore di 1
if($pagina_corrente < 1) {
header('location: ' . $url_base);
exit();
}
// se la pagina corrente è maggiore dell'ultima pagina
if($pagina_corrente > $tot_pagine) {
header('location: ' . crea_url($url_base, $tot_pagine));
exit();
}
?>

e paginazione.php è questa:
<?php
function crea_url($url_base, $pagina) {
if(strpos($url_base,'?') === false) {
return $url_base . '?page=' . $pagina;
} else {
return $url_base . '&amp;amp;page=' . $pagina;
}
}

function crea_link($url_base, $pagina_corrente, $numero_pagina) {
if($pagina_corrente == $numero_pagina) {
return "[$numero_pagina]";
} else {
return '<a href="' . crea_url($url_base, $numero_pagina) . '">' . $numero_pagina . '</a>';
}
}

// funzione che crea i link alle pagine dei risultati
function paginazione($tot_pagine, $url_base, $pagina_corrente, $pagine_vicine) {
$link_paginazione = "Pagine: ";

// link alla pagina precedente
if($pagina_corrente != 1) {
$link_paginazione .= '<a href="' . crea_url($url_base, $pagina_corrente - 1) . '">&laquo;</a> ';
}

// mostriamo sempre il link alla prima pagina
$link_paginazione .= crea_link($url_base, $pagina_corrente, 1);

// se il prossimo link non è alla seconda pagina aggiungo dei puntini ...
// oppure la sola pagina mancante
if($pagina_corrente - $pagine_vicine > 2) {
if($pagina_corrente - $pagine_vicine == 3) {
$link_paginazione .= " " . crea_link($url_base, $pagina_corrente, 2);
} else {
$link_paginazione .= " ... ";
}
}

// creo i link alla pagina corrente ed a quelle ad essa vicine
for($i = $pagina_corrente - $pagine_vicine; $i <= $pagina_corrente + $pagine_vicine; $i++) {
// se tra quelle vicine c'è la prima pagina (già riportata)
if($i < 2) continue;

// se tra quelle vicine c'è l'ultima pagina (che mostrerò con le prossime istruzioni)
if($i > $tot_pagine - 1) continue;

$link_paginazione .= " " . crea_link($url_base, $pagina_corrente, $i);
}

// se il precedente link non era alla penultima pagina aggiungo dei puntini ...
// oppure la sola pagina mancante
if($pagina_corrente + $pagine_vicine < $tot_pagine - 1) {
if($pagina_corrente + $pagine_vicine == $tot_pagine - 2) {
$link_paginazione .= " " . crea_link($url_base, $pagina_corrente, $tot_pagine - 1) . " ";
} else {
$link_paginazione .= " ... ";
}
}

// mostriamo il link all'ultima pagina se questa non coincide con la prima
if($tot_pagine != 1) {
$link_paginazione .= " " . crea_link($url_base, $pagina_corrente, $tot_pagine);
}

// link alla pagina successiva
if($pagina_corrente != $tot_pagine) {
$link_paginazione .= ' <a href="' . crea_url($url_base, $pagina_corrente + 1) . '">&raquo;</a>';
}

return $link_paginazione;
}

?>

grazie per aiuto!!!!!

_________________
Stefana



Condividi: Aggiungi: paginazione a Technorati Aggiungi: paginazione a OKNOtizie Aggiungi: paginazione a Segnalo Aggiungi: paginazione a Digg Aggiungi: paginazione a Boomark.it Aggiungi: paginazione a Furl Aggiungi: paginazione a de.li.cious Aggiungi: paginazione a Yahoo Aggiungi: paginazione a Stumbleupon Aggiungi: paginazione a Google Aggiungi: paginazione a BlogLines Aggiungi: paginazione a SocialDust.com Aggiungi: paginazione a Live.com Aggiungi: paginazione a Wikip.it
Top
 Profilo E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 

Tutti gli orari sono UTC +2 ore


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi

Cerca per:
Vai a:  
2000 - 2011 Manuali.it © - P.IVA 00992330670 - Tutti i diritti riservati - Note Legali - Condizioni di utilizzo del sito - Privacy - E' vietata qualsiasi riproduzione parziale o completa se non autorizzata - # Powered by Cykel Software
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it
phpBB SEO