posto tutto lo script... inutile dire che se passo i valori regolarmente, senza array funziona...
questo è uno script di test, quello completo ha molti campi, tra cui ceckbox
index.html
codice:
<form method="post" action="search.php">
<input type="text" id="regione" name="regione" />
<input type="text" id="struttura" name="struttura" />
<input type="submit" name="invio"/>
</form>
search.php
Codice PHP:
<?php
session_start();
if(isset($_POST["invio"])){
$_SESSION['regione']=$_POST["regione"];
$_SESSION['struttura']=$_POST["struttura"];
}
$condizioni_query = array();
if ($_POST['regione'])
$condizioni_query[] = "regione=".$_SESSION['regione']."";
if ($_POST['struttura'])
$condizioni_query[] = "struttura=".$_SESSION['struttura']."";
// Costruiamo la clausola WHERE solo se sono stati selezionati i campi di ricerca
if ($condizioni_query)
$clausola_where = 'WHERE '. implode(' AND ', $condizioni_query);
//SET THE ROWS FOR EVERY PAGE
$page_size = 3;
//CONNECT TO MYSQL DATABASE
$con = mysql_connect("localhost", "root", "")
or die("<p class='error-msg'>Cannot connect to the database. ".mysql_error()."</p>");
//SELECT A DATABASE
mysql_select_db("test2");
//COMPOSE QUERY
//FROM scheda WHERE regione='{$_SESSION['regione']}' AND struttura='{$_SESSION['struttura']}'";
$sql = "SELECT
CEILING(count(1) / ".$page_size.") AS count
FROM scheda $clausola_where";
//EXECUTE THE QUERY
$result = mysql_query($sql, $con);
if ($row = mysql_fetch_assoc($result))
{
$page_count = $row["count"];
}
//CHECK IF PAGE VARIABLE IS AVAILABLE AND CALCULATE THE LIMIT
if (isset($_GET["page"]))
{
$page_no = $_GET["page"];
$limit = ($page_no * $page_size) - $page_size;
}
else
{
$limit = 0;
}
//COMPOSE QUERY
$sql = "SELECT * FROM scheda $clausola_where LIMIT ".$limit .", ".$page_size;
var_dump($sql);
var_dump($condizioni_query);
//EXECUTE THE QUERY
$result = mysql_query($sql, $con);
if (mysql_num_rows($result) == 0) {
echo "Nessun risultato trovato!";
} else {
while($row = mysql_fetch_array($result)) {
// Your while loop here
$regione= $row['regione'];
echo "$regione";
echo "
";
}
echo "
";
//DISPLAY A LINK TO THE NUMBER OF PAGES
for ($i = 1; $i < $page_count + 1; $i++)
{
print "[url='?page=".$i."']".$i."[/url] ";
}
}
?>