Buongiorno a tutti,
ho una pagina di ricerca composta da un'unico campo-testo per l'inserimento di più parole chiave... Vi riportò il codice ridotto e senza la grafica, ovviamente:
cerca.php
Codice HTML:
<form action="cerca_seg_mobile.php?q=" method="get">
<input name="q" type="text" value="">
<input id="submit" type="submit" value="CERCA">
</form>
le chiavi di ricerca le passo in modalità GET alla pagina "risultati.php", che preleva le chiavi dalla URL ed inoltre mostra come titolo della pagina le chiavi inserite:
Codice PHP:
// prelevo le chiavi dalla URL e le esplodo per dividere le varie parole
<?php
$qry = $_GET['q'];
$chiavi = explode(" ", $qry);
?>
// visualizzo correttamente le parole ricercate
<h2>RISULTATI RICERCA PER [ <?php echo $qry; ?> ]</h2>
<table>
<tr><th>Campo A</th></tr>
<tr><th>Campo B</th></tr>
<tr><th>Campo C</th></tr>
//connessione al db inclusa
<?php
require('inc/config.php');
//conto i record e preparo l'impaginazione (perfettamente funzionante in un'altra pagina dove estraggo direttamente tutta la tabella)
$count = mysql_query("SELECT COUNT(id) FROM tabella WHERE campoA LIKE '%$chiavi%' OR campoB LIKE '%$chiavi%' OR campoC LIKE '%$chiavi%'");
$res_count = mysql_fetch_row($count);
$tot_records = $res_count[0];
$per_page = 15;
$tot_pages = ceil($tot_records / $per_page);
$current_page = (!$_GET['pag']) ? 1 : (int)$_GET['pag'];
$primo = ($current_page - 1) * $per_page;
//visualizzo risultati ricerca
$query_limit = mysql_query("SELECT id, campoA, campoB, campoC FROM tabella WHERE campoA LIKE '%$chiavi%' OR campoB LIKE '%$chiavi%' OR campoC LIKE '%$chiavi%' ORDER BY id DESC LIMIT $primo, $per_page");
while($results = mysql_fetch_array($query_limit)) {
echo "</tr>\n";
echo "<td>" . $results['campoA'] . "</td>\n";
echo "<td>" . $results['campoB'] . "</td>\n";
echo "<td>" . $results['campoC'] . "</td>\n";
echo "</tr>\n";
}
//creo la paginazione con i vari link alle pagine
$paginazione = "[";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"?q=$qry&pag=$i\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";
mysql_close();
?>
</table>
//visualizzo i vari link alle pagine
<div><?php echo $paginazione; ?></div>
Purtroppo PHP non mi fornisce nessun errore, ma la tabella è vuota (si vedono solo le intestazioni) "Campo A" "Campo B" "Campo C", e ovviamente la paginazione mostra solamente "[ ]" come se avesse trovato zero record corrispondenti.
Chi di voi può aiutarmi?
Grazie,
Simone