ciao a tutti
ho scritto questo codice per ricercare all'interno del database in base a certi dati
Codice PHP:
<?php
require("config.php");
if (empty($_POST["b"])) {
$count_mess = @mysql_query("SELECT COUNT(id) FROM poesie");
$res_count = @mysql_fetch_array($count_mess);
if ($res_count[0] == FALSE) {
echo "Nessuna poesia è stata inserita nel database";
} else {
$tot_pages = ceil($res_count[0]/$msg_per_page);
$curr_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($curr_page - 1) * $msg_per_page;
$data = date('d/m/Y');
$query = mysql_query("SELECT * FROM poesie ORDER BY id DESC LIMIT $primo,$msg_per_page");
while($result = mysql_fetch_array($query)) {
$result['poesia'] = str_replace("\n", "
", $result['poesia']);
echo " [b] " . $result['titolo'] . "[/b]
\n";
echo " [i]Inserita da " . $result['nome'] . "[/i]
\n";
echo " " . $result['poesia'] . "
\n";
echo " [i] " . $result['autore'] . "[/i]
\n";
echo " Invia ad un amico <a href=\"inviaamico.php?titolo=" . $result['titolo'] . "&cont=" . $result['poesia'] . "&autore=" . $result['autore'] . "\">[img]immagini/mail.gif[/img]</a>
\n";
echo " <hr>\n";
}
for($page = 1; $page <= $tot_pages; $page++) {
if($page == $curr_page) {
$pag .= "[b]$page[/b] ";
} else {
$pag .= "<a href=\"?page=$page\">$page</a> ";
}
}
echo $pag . "
\n";
}
@mysql_close();
} else {
$a = $_POST["a"];
$b = $_POST["b"];
$count_mess = @mysql_query("SELECT COUNT(id) FROM poesie");
$res_count = @mysql_fetch_array($count_mess);
if ($res_count[0] == FALSE) {
echo "Nessuna poesia secondo questi criteri di ricerca";
} else {
$tot_pages = ceil($res_count[0]/$msg_per_page);
$curr_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($curr_page - 1) * $msg_per_page;
$data = date('d/m/Y');
$query = mysql_query("SELECT * FROM poesie WHERE ".$a." LIKE '%".$b."%' ORDER BY id DESC LIMIT $primo,$msg_per_page");
while($result = mysql_fetch_array($query)) {
$result['poesia'] = str_replace("\n", "
", $result['poesia']);
echo " [b] " . $result['titolo'] . "[/b]
\n";
echo " [i]Inserita da " . $result['nome'] . "[/i]
\n";
echo " " . $result['poesia'] . "
\n";
echo " [i] " . $result['autore'] . "[/i]
\n";
echo " Invia ad un amico <a href=\"inviaamico.php?titolo=" . $result['titolo'] . "&cont=" . $result['poesia'] . "&autore=" . $result['autore'] . "\">[img]immagini/mail.gif[/img]</a>
\n";
echo " <hr>\n";
}
for($page = 1; $page <= $tot_pages; $page++) {
if($page == $curr_page) {
$pag .= "[b]$page[/b] ";
} else {
$pag .= "<a href=\"?page=$page\">$page</a> ";
}
}
echo $pag . "
\n";
}
@mysql_close();
}
?>
e funziona, il solo problema è che se ad esempio il risultato della ricerca è uno solo, mi vengono visualizzate 4 pagine, ovvero quello di tutti gli elementi del database. Se non mi sono saputa spiegare bene potete capire cosa intendo guardando la mia pagina qui e provando a fare una ricerca...
Qualcuno può darmi una mano ^^ ?