Grazie mille boots per la risposta. Si, scusami hai ragione. Ti mostro la pagina completa così cerchiamo di risolvere la situazione.
Il problema in questo caso specifico è il seguente: mi mostra il i risultati esatti, sia in termini di pagine che di items ma nel momento in cui vado a CAMBIARE PAGINA i risultati elencati sono quelli di TUTTO il database e le pagine sono piu che raddoppiate (per ovvi motivi).codice:<? // CODICE: Connessione al database $pag = $_GET["pag"]; if (isset($pag) == false || is_numeric($pag) == false || $pag < 1) { $pag = 1; } $fine = 10; $inizio = ($pag - 1) * $fine; //Di seguito sono specificate le query $select = 'SELECT DISTINCT id, text'; $from = ' FROM table'; $where = ' WHERE 1=1'; $order = ' ORDER BY id DESC'; $limit = " LIMIT " . $inizio . ", " . $fine; //Qui assegno la condizione proveniente da un altro file: search.php $search = $_POST['search']; if ($search != '') { $where .= " AND text LIKE '%$search%' "; } //Assegno ad una variabile il valore del risultato del search $query = @mysql_query($select . $from . $where . $order . $limit); if (!$query) { exit (' Error retrieving data from database!</p>'.'Error: ' . mysql_error() . '</p>'); } //Forse è qui l'ERRORE? $quanti = mysql_num_rows($query); for($x=0; $x<$quanti; $x++) { $row = mysql_fetch_row($query); //CODICE: items da stampare a video } $query2 = mysql_query($select . $from . $where . $order); $quanti2 = mysql_num_rows($query); $intero = ceil($quanti2 / $fine); ?> Pagina <?echo $pag;?> di <?echo $intero;?></p> <? for($x=1; $x<$intero+1; $x++) { if ($x == $pag) { ?> <?echo $x;?> | <? } else { ?> <?echo $x;?> | <? } //Chiusura else } //Chiusura for ?>
Non chiedo di farmi da debugger, non mi permetterei mai. In prima cosa vorrei capire dove è che sbaglio, non riesco proprio a capirlo!

Rispondi quotando