Originariamente inviato da Sky
Al loro posto metti queste:
Codice PHP:
if ($regioni)
$condizioni_query[] = "regioneazienda = '$regioni'";
if ($provincia != 'tutte')
$condizioni_query[] = "provincia = '$provincia'";
Buon proseguimento, ciao
Ciao ....
finalmente ho sistemato lo script come serviva... ora ho il problema per la paginazione dei dati... non riesco a gestire l'array (senza sessione lo script funziona benissimo) quando metto il tutto in sessione mi da questi warning:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/script/ricerca/02-ricavanzata/search2.php on line 50
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/script/ricerca/02-ricavanzata/search2.php on line 52
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/script/ricerca/02-ricavanzata/search2.php on line 74
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/script/ricerca/02-ricavanzata/search2.php on line 76
però non capisco perchè...
Codice PHP:
<?php
session_start();
include('connessione.php');
if(isset($_POST["invia"])){
$_SESSION['regioneazienda']= mysql_real_escape_string($_POST["regioneazienda"]);
$_SESSION['provincia']= mysql_real_escape_string($_POST["provincia"]);
$_SESSION['tipoazienda']= mysql_real_escape_string($_POST["tipoazienda"]);
}
echo $_SESSION['regioneazienda'];
$condizioni_query = array();
// Costruiamo le istruzioni SQl per selezionare i record desiderati, basandoci sulle checkbox selezionate
// Ogni servizio spuntato implicherà la ricerca dei record che hanno il relativo campo settato a 1
if (count($_POST['servizio'])) {
$function = create_function('$servizio', 'return "$servizio = 1";');
$condizioni_query = array_map($function, $_POST['servizio']);
}
if ($_SESSION['regioneazienda'])
$condizioni_query[] = "regioneazienda='{$_SESSION['regioneazienda']}'";
if ($_SESSION['provincia'] != 'tutte')
$condizioni_query[] = "provincia='{$_SESSION['provincia']}'";
if ($_SESSION['tipoazienda'] != 'tutte')
$condizioni_query[] = "tipoazienda='{$_SESSION['tipoazienda']}'";
// 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;
//COMPOSE QUERY
$sql = "SELECT
CEILING(count(1) / ".$page_size.") AS count
FROM $table02 $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 $table02 $clausola_where LIMIT ".$limit .", ".$page_size;
//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
$regioneazienda= $row['regioneazienda'];
$provincia= $row['provincia'];
$tipoazienda= $row['tipoazienda'];
echo "$regioneazienda $provincia $tipoazienda";
echo "
";
}
echo "
";
//DISPLAY A LINK TO THE NUMBER OF PAGES
for ($i = 1; $i < $page_count + 1; $i++)
{
print "[url='?page=".$i."']".$i."[/url] ";
}
}
?>