Sono ripartito da qui, che tra l'altro in un'altro sito mi funzionava correttamente (qui non capisco che succede)
se vuoi ti mando in pvt la url e cosi vedi che succede, nel senso:
I risultati della prima pagina tutto ok, si forma la paginazione mi trova 2 pagine di risultati ecc ecc, come vado nelle seconda pagina /cerca_c.php?p=2 al posto di darmi i risultati solo fi quella provincia me li tira fuori tutti e mi forma la paginazione di tutte i risultati del sito.
Tra l'altro non capisco il perché ma il problema forse è nella parte della paginazione, perchè io metto il limit a 10 invece mi vengono fuori circa 25 annunci nella prima pagina,
PHP:
<?php
if(!isset($_SESSION)){session_start ();}
if(isset ($_POST['aid'])){
$_SESSION['aid']=$_POST['aid'];
}
if(isset ($_POST['bid'])){
$_SESSION['bid']=$_POST['bid'];
}
?>
<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7 no-js" lang="en-US">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8 no-js" lang="en-US">
<![endif]-->
<!--[if !(IE 7) | !(IE 8) ]><!-->
<html lang="en" class="no-js">
<head>
<!-- Basic need -->
<title>onoranze pompe funebri</title>
.....................................
<?php
class MySQL{
function MySQL()
{
require_once "db_connect.php"; //metti l'once
}
}
$eid = $_POST['aid'];
$bid = $_POST['bid'];
$data = new MySQL();
if(isset ($_POST['cerca_c'])){
$_SESSION['cerca_c']=$_POST['cerca_c'];
}
$cerca_a = mysql_escape_string(stripslashes($_SESSION['cerca_c']));
if (strlen($_SESSION['cerca_c']) < 1 && $_SESSION['aid'] == "" && $_SESSION['bid'] == "" ) {
echo "dati inseriti non validi";
//e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere
} else{
$q = "SELECT * FROM pompe
INNER JOIN tipologia ON (pompe.tipologiaid=tipologia.id )
INNER JOIN provincia ON (pompe.provinciaid=provincia.id )
WHERE 1=1 ";
if($cerca_a != "") {
$q.= " && (id_annunci LIKE '%$cerca_a%' OR messaggio LIKE '%$cerca_a%' OR cittas LIKE '%$cerca_a%' OR name LIKE '%$cerca_a%' )";
}
if($aid != "") {
$q.= " && tipologia.id = '$aid'";
}
if($eid != "") {
$q.= " && provincia.id = '$bid'";
}
$q = mysql_query($q) or die (mysql_error()) ;
$count=mysql_num_rows($q);
if($count == 0){
echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";
//e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati
}else{
//visto che ci sono dati inserisci anche la paginazione
require_once "paginazione.php";//metti l'once
$p = new Paging;
$max = 10;
// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);
// troviamo il numero delle pagine che dovrà essere contato
$pagine = $p->contaPagine($count, $max);
$lim="LIMIT $inizio, $max";
$sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione
$risultato=mysql_query($sq_lim);
while($row=mysql_fetch_array($q)){
$click_annuncio = $row['click_annuncio'];
$id_annunci = $row['id_annunci'];
$user_id = $row['id'];
$cittas = $row['cittas'];
$messaggio = substr($row['messaggio'], 0, 25);
$nome_file = $row['nome_file'];
$tipo_file = $row['tipo_file'];
$dati_file = $row['dati_file'];
//cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr
//tra l'altro non c'è la chiusura del tag </p>
//poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e
//ci sono dei tr non aperti ma solo chiusi
echo " <p><a href=\"risultato-onoranze.php?id=$id_annunci\"/><img src='immagini2ricette.php?id_annunci=$id_annunci' name='$nome_file' alt'$nome_file' title='$titolo' class='img-responsive' /></a></p>";
echo "<a href=\"risultato-onoranze.php?id=$id_annunci\"/>$titolo</a><br /><br /> ";
echo "<h5>$messaggio ...</h5><br />";
}
$lista = $p->listaPagine($_GET['p'], $pagine);
echo "<tr><td colspan=\"3\">";
echo "$lista . <br>";
$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
echo $navigatore;
echo "</td></tr>";
echo"</table></h5>";
}//fine if-else ci sono dati
}//fine if-else post giusto
?>
se vuoi ti mando in pvt la url e cosi vedi che succede, nel senso:
I risultati della prima pagina tutto ok, si forma la paginazione mi trova 2 pagine di risultati ecc ecc, come vado nelle seconda pagina /cerca_c.php?p=2 al posto di darmi i risultati solo fi quella provincia me li tira fuori tutti e mi forma la paginazione di tutte i risultati del sito.
Tra l'altro non capisco il perché ma il problema forse è nella parte della paginazione, perchè io metto il limit a 10 invece mi vengono fuori circa 25 annunci nella prima pagina,