scorrimento pagine

  • Creatore Discussione Creatore Discussione neoargo
  • Data di inizio Data di inizio

neoargo

Nuovo Utente
2 Giu 2004
13
0
0
42
Verona
ciao a tutti ...
ho un problemino...

ho un guestbook e per visualizzare i messaggi visualizzati vorrei creare un menu di navigazione questo il codice che ho creato:

($totmex=totale messaggi $pages=totale pagine)

echo"Totale messaggi: ".$totmex." visualizzati in ".$pages." pagine <br>";

questo e' il ciclo che genera il menu di navigazione (cioe' i numeri delle pagine per visualizzare i mex)

$start=0;
for($ini=1;$ini<=$pages;$ini++){
echo"[<a href='leggigb.php?s=$start'> $ini </a>]";
$start=$start+$step;
}


$f=$s+$step; //--step 3
echo"<hr size=2 color=blue>";
$q="select* from gb limit $s,$f"; //--visualizzazione lilitata (step)
$ris=mysql_query($q,$con);

effettivamnete la variabile $s passata assume di volta in volta i valori 0 3 6 ecc... (lo stap e' di 3 messaggi) ma nella prima pagina visualizzo 3 messaggi nella seconda 6 nella terza 9 e cosi' via

COSA NON VA? :confused:
 
Ciao,
prova a dare un`occhiata a questo code (mio), guarda il primo if ($my_action == "read") !!
La struttura del codice e` leggermente diversa, ma funzica bene :)
Le righe che devi guardare sono: da 31 a 39 e da 70 a 82.

Ciao :byebye:
 
Ultima modifica:
Ciao,
perdonami ho modificato un pochino il codice delle mie pagine quindi non c`e` piu` il code che volevo farti vedere, te lo posto ora io:
PHP:
<?php
// ...

$msg_per_page = 30;
$count_mess   = @mysql_query("SELECT COUNT(id) FROM tua_tabella");
$res_count    = @mysql_fetch_array($count_mess);
$tot_pages    = ceil($res_count[0]/$msg_per_page);
$curr_page    = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo        = ($curr_page - 1) * $msg_per_page;
$query        = mysql_query("SELECT * FROM tua_tabella
                               ORDER BY id DESC
                               LIMIT $primo,$msg_per_page");

// ...

for($page = 1; $page <= $tot_pages; $page++)
{
	if($page == $curr_page)
	{
		$pag .= "<strong>$page</strong> ";
	}
	else
	{
		$pag .= "<a href=\"$PHP_SELF?page=$page\">$page</a> ";
	}
}
echo $pag . "<br>\n";

// ...
?>
Bye :byebye:
 
RISOLTO CON...

CIAO ho risolto con il seguente codice:

l' unica cosa che mi portava fuori strada era la 'funzione' LIMIT subito pensavo che limit servisse per limitare la visualizzazione DA -> A ma in realta' viene limitato DA -> PER intervallo (numero)

$q="select* from gb";
$ris=mysql_query($q,$con);
$totmex=mysql_num_rows($ris);//--totale mex nel gb
$pages = intval($totmex/$step)+1; //--pagine da viusalizzare

echo"Totale messaggi: ".$totmex." visualizzati in ".$pages." pagine <br>";

$start=0;
for($ini=1;$ini<=$pages;$ini++){
echo"[<a href='leggigb.php?s=$start'> $ini </a>]";
$start=$start+$step;
}


$f=$s+3;

echo $s." - ".$f;
echo"<hr size=2 color=blue>";
$q="select* from gb limit $s,3"; //--visualizzazione lilitata (step 3)
$ris=mysql_query($q,$con);
 

Discussioni simili