Piccolo problema impaginazione php

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Salve,
vengo subito al dunque:

ho questo codice:

PHP:
	<?php 
							// connessione e selezione del database  
							include('config.php');
							@mysql_connect($localhost, $user, $password)
							or die('Connessione non riuscita: ' . mysql_error());
							 
							if(!mysql_select_db($dbname))
							die('Selezione database fallita!' . mysql_error());
							 
							$count = mysql_query("SELECT COUNT(id) FROM tabella_files");
								$res_count = mysql_fetch_row($count);

								// numero totale di records
								$tot_records = $res_count[0];

								// risultati per pagina(secondo parametro di LIMIT)
								$per_page = 2;

								// numero totale di pagine
								$tot_pages = ceil($tot_records / $per_page);

								// pagina corrente
								$current_page = (!@$_GET['page']) ? 1 : (int)@$_GET['page'];

								// primo parametro di LIMIT
								$primo = ($current_page - 1) * $per_page;

								
								
								// ottengo l'identificativo della cartella
								// e lo inserisco in una sessione
								
							
								$id_cartella=(int)$_GET['cartella_id'];
								$_SESSION['id_cartella']=$id_cartella;
								$id_cartella2=$_SESSION['id_cartella'];
								
									// esecuzione seconda query con LIMIT
								$query_limit = mysql_query("SELECT * FROM tabella_files WHERE id_cartella=$id_cartella ORDER BY nome LIMIT $primo, $per_page");

								
								//includo la paginazione
								include("paginazione3.php");
								
								
								
									while($tmp = mysql_fetch_array($query_limit)){
											
											
											$id=$tmp['id'];
											$nome=$tmp['nome'];
											$testo=$tmp['commento'];
											
											//per ora visualizzo solo il nome
											echo $nome;	
											
											}
										
									
									
								//includo l' impaginazione
								echo "<div style='position:absolute;bottom:0;color:black;font-family:verd
								ana,arial,sans-serif; left:0; width:99%;'>" . @$paginazione."</div>";
												
						
							?>

e questo è il contenuto di paginazione3.php

PHP:
<?php

$paginazione = "Pagine totali: " . $tot_pages . "
[";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"?page=$i&cartella_id=$id_cartella2\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";

?>
a pagina 1 visualizzo il nome del file ma quando vado a apagina 2 non visualizzo nulla- come mai?

p.s. il dabase ha due tebelle in una il nome dell'immagine (contenente i valori i bit etc..) ed in un'altra il nome delle cartelle (in quanto ad ogni cartella faccio corrispondere determinate immagini)
 
metti un:
PHP:
or die (mysql_error());
davanti alla seconda query e vedi se con il cambio pagina ti stampa qualche errore.
 
non mi stampa errori... però considera che se tolgo la clausola "WHERE id_cartella=$id_cartella " va bene mentre se aggiungo questa clausola nella seconda pagina (in quanto i file appartenenti sono 2) non mi visualizza niente.
 
se provi a stampare la query il valore di $id_cartella viene stampato correttamente?
 
A proposito, perché nella prima query conti tutti i record e con la seconda impagini i risultati filtrandoli con WHERE?
 
Quanti resultati devono uscire....perche il limite e 2 per pagina....percio se sono 2 totale, sulla seconda pagina non esce niente.
 
Niente scusa abbiamo risolto- ti ho fatto perdere solo tempo: ho notato che $per_page = 2; quindi metteva tutti i nomi nella prima pagina e nella seconda niente - ora l'ho impostato a uno e mi compaiono tre pagine (2 con il nome del file e una con niente) - l'unica cosa che non capisco è come mai mi aggiunge una pagina vuota.
 
nessun problema con ceil arrotondi

$totalepagine= ceil($totalenumerazione/$perpagina);

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>
 
(ho letto ora le vostre risposte) -> si infatti il problema della pagina in più è che nella prima query non inserivo la clausola where... Grazie ragazzi!
 

Discussioni simili