salve a tutto il forum, mi trovo davanti a questo problemino:
sto usando uno script per la paginazione dei dati, però se il risultato è per esempio 6 record, mi mostra comunque i link "Pagine: [1] 2 3 4 »" nonostante non ci siano "valori" da visualizzare nelle pagine 2, 3, e 4. Ho provato un milione volte a modificarlo ma senza successo... qualcuno di voi saprebbe gentilmente indicarmi dove sta l'errore? o l'orrore... caso mai rifaccio tutto 
quasto è la pagina che riceve i dati dal form, cioè "risultato.php" :
Codice PHP:
<?php
include 'paginazione.php';
$praticante=$_POST['praticante'];
$DB_host = 'localhost';
$DB_user = 'root';
$DB_password = '';
$DB_name = 'fdl';
$righe_per_pagina = 10;
$url_base = "risultato.php";
$pagine_vicine = 1;
// ----------------------------------------------------------------
// C O N N E S S I O N E A L D A T A B A S E
$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
// ----------------------------------------------------------------
// 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 utenti";
$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['pag']) ? (int)$_GET['pag'] : 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 S T R A Z I O N E D E I R E C O R D
// calcolo la prima riga da estrarre con la query
$prima_riga = ($pagina_corrente - 1) * $righe_per_pagina;
$query = "SELECT username, nome, cognome, email, data_reg, MATCH(nome, cognome, username)
AGAINST ('*$praticante*' IN BOOLEAN MODE) AS pertinenza FROM utenti WHERE MATCH (nome, cognome,
username) AGAINST ('*$praticante*' IN BOOLEAN MODE) ORDER BY pertinenza DESC, cognome DESC
LIMIT $prima_riga, $righe_per_pagina";
$result = mysql_query($query);
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
$elenco_user = array();
while ($row = mysql_fetch_assoc($result)) {
$elenco_user[] = $row;
}
// creazione dei link di paginazione
$link_paginazione = paginazione($tot_pagine, $url_base, $pagina_corrente, $pagine_vicine);
// carico il template HTML
include 'index.html';
?>
posto anche index.html, magari l'errore sta la ed io non me ne sono accorta...
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Elenco User</title>
</head>
<body>
<h1>Elenco User</h1>
<?php echo $link_paginazione?></p>
<table border="1">
<tr>
<th>Username</th>
<th>Nome</th>
<th>Cognome</th>
<th>Indirizzo e-mail</th>
<th>data di registrazione</th>
</tr>
<?php foreach($elenco_user as $riga):?>
<tr>
<td><?php echo htmlentities($riga['username'])?></td>
<td><?php echo $riga['nome']?></td>
<td><?php echo $riga['cognome']?></td>
<td><?php echo $riga['email']?></td>
<td><?php echo $riga['data_reg']?></td>
</tr>
<?php endforeach ?>
</table>
<?php echo $link_paginazione?></p>
</body>
</html>
grazie in anticipo a tutti! Gina