Estrarre solo un certo numero di record e scorrimento pagine

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Salve,
Facendo un estrazione da una tabella contenente ad esempio 200 record,
se nella pagina di visualizzazione voglio mostrare solo 10 record alla volta, visualizzando in fondo alla pagina dei link che si riferiscono alle varie pagine
(.. < 1 2 3 4 5 6 > ..) Come si fa?

E' una soluzione presente in numerosissimi siti web ma non ho mai capito applicarla
Ho provato anche a cercare delle guide ma non so cosa scrivere nel motore di ricerca..non riesco a dargli un nome insomma..

Potete spiegarmi perfavore?

Grazie mille
 
Ho provato ad utilizzare la seconda guida, dopo aver modificato qualcosina quà e là in base alle mie esigenze mi trovo con un piccolo problemino di visualizzazione dei link che servono per andare avanti e indietro tra le diverse pagine..
Con il tasto indietro e gli 1 - 2 - 3 ecc non ho problemi... Il problema ce l'ho con il tasto AVANTI che mi compare anche se sono all'ultima pagina !!!
questo è il codice che mostra i link:
PHP:
<?php

// Se le pagine totali sono più di 1...stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1)
{
 echo "Pagina ".$pag." di ".$all_pages; //Es: Pagina 1 di 2


echo"<div id='link_pag'>";
  if ($pag > 1) //Se la pagina attuale non è la prima allora mi fai vedere il tasto Indietro
 {
  $pag = $pag - 1;
  echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$pag.">Indietro</a>&nbsp|&nbsp";
 }



 for($i=1; $i <= $all_pages; $i++) // Tante volte quante sono le pagine me le fai vedere Es: 1 - 2 - 3 
 {
  echo"<a href=".$_SERVER['PHP_SELF']."?pag=".$i.">$i</a>&nbsp";
 }


 if ($all_pages != $pag) // QUI' Cè IL PROBLEMA. Anche se la pagina attuale è l'ultima mi fa comunque vedere il tasto Avanti :S
 {
  $pag =$pag + 1;
  echo "| <a href=".$_SERVER['PHP_SELF']."?pag=".$pag.">Avanti</a>";
 }

echo"</div>";

}

?>


Spero di essere stato chiaro
Grazie
 
ciao
di preciso non so perche io uso la class. comunque prova a correggere
PHP:
<?php
//....
//il != in > o >=
if ($all_pages > $pag) // QUI' Cè IL PROBLEMA. Anche se la pagina attuale è l'ultima mi fa comunque vedere il tasto Avanti :S 
 { 
  $pag =$pag + 1; 
  echo "| <a href=".$_SERVER['PHP_SELF']."?pag=".$pag.">Avanti</a>"; 
 } 
echo"</div>"; 
} 
//...
?>

scusa forse ho sbagliato con < o <=
 
Ultima modifica:
se metto if ($all_pages < $pag)
e vado all'ultima pagina compare Indietro | 1 2 quindi va bene
ma nella prima pagina compare 1 2 e basta senza Avanti :S

Insomma se metto diverso != il tasto AVANTI mi compare SEMPRE cosa alquanto strana.
e se metto < non compare MAI ancora più strano..

sto impazzendo.
 
Credo di aver capito l'intoppo :P


PHP:
<?php

// Se le pagine totali sono più di 1...stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1)
{
 echo "Pagina ".$pag." di ".$all_pages; //Es: Pagina 1 di 2


echo"<div id='link_pag'>";
  if ($pag > 1) //Se la pagina attuale non è la prima allora mi fai vedere il tasto Indietro
 {
  $pag = $pag - 1; // IL PROBLEMA è QUI' *
  echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$pag.">Indietro</a>&nbsp|&nbsp";
 }



 for($i=1; $i <= $all_pages; $i++) // Tante volte quante sono le pagine me le fai vedere Es: 1 - 2 - 3 
 {
  echo"<a href=".$_SERVER['PHP_SELF']."?pag=".$i.">$i</a>&nbsp";
 }


 if ($all_pages != $pag) 
 {
  $pag =$pag + 1;
  echo "| <a href=".$_SERVER['PHP_SELF']."?pag=".$pag.">Avanti</a>";
 }

echo"</div>";

}

?>


*Perchè se la pagina attuale è l'ultima entrando in quell'if pag si decrementa di uno e quindi al prossimo if è decrementato...
La soluzione che ho provato è stata questa ma non va:
PHP:
 if ($pag > 1) //Se la pagina attuale non è la prima allora mi fai vedere il tasto Indietro
 {
  
  echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$pag - 1.">Indietro</a>&nbsp|&nbsp";
 }

mi da problemi di sintassi
 
Ecco la soluzione:

PHP:
$pag_inc = $pag + 1;
$pag_dec = $pag - 1;

 if ($pag > 1)
 {
  
  echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$pag_dec.">Indietro</a>&nbsp|&nbsp";
 }

...

 if ($all_pages != $pag)
 {
  echo "| <a href=".$_SERVER['PHP_SELF']."?pag=".$pag_inc.">Avanti</a>";
 }

non è il massimo ma almeno funziona
grazie borgo
 

Discussioni simili