Query su menų a tendina..

ho dei menų a tendina e dovrei eseguire una query al db in modo da combinare le selezioni di questi menų ed estrapolare i dati che soddisfano le voci selezionate.

ho provato a scrivere questo nella pagina in cui vi č il form:

form action='fnd.php' method='post'>

<select name='continente'>

<option>Europa</option>

<option>Asia</option>

[...]

</select>

<select name='trattamento'>

<option>All Inclusive</option>

<option>Pernottamento</option>

[...]

</select>

<input name='submit' type='submit' class="submit" value="Invia">

</form>

E questo nella pagina in cui vorrei l'output (fnd.php):

$continente= $_POST["continente"];

$trattamento = $_POST["trattamento"];

$result = mysql_query("SELECT * FROM '$continente' WHERE trattamento= '$trattamento'", $db);

$number = mysql_num_rows($result);

$i = 0;

if ($number < 1) {

print "<center><p>La ricerca non ha prodotto nessun risultato</p></center>";

}

else

{

while ($number > $i) {

[...]

?>

supponendo che nella 1°tendina seleziono "europa" e nella 2° tendina seleziono "All Inclusive" alla fine la query

$result = mysql_query("SELECT * FROM '$continente' WHERE trattamento= '$trattamento'", $db);

dovrebbe essere intesa come quanto segue o sbaglio?   :o

("SELECT * FROM europa WHERE trattamento(CAMPO DEL DB EUROPA) = 'All Inclusive'", $db);

mi da questo errore

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\phase\fnd.php

dove erro?

se al posto di questa:

$result = mysql_query("SELECT * FROM $continente WHERE trattamento=$trattamento", $db);

scrivo questa:

$result = mysql_query("SELECT * FROM $continente WHERE trattamento='all inclusive'", $db);

qualsiasi sia il continente scelto dalla tendina, funziona!

ovviamente spara fuori solo gli "all inclusive"..

quindi $continente la legge giusta e invece $trattamento no... come mai????

Grazie mille

inviato 9 anni fa
sonny
X 0 X

appena dopo mysql_query metti:

if (!$result) {  
    die("Errore nella query: " . mysql_error());  
}

in modo da capire dov'č l'errore nella query

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

ecco cosa mi dice:

Errore nella query: Errore di sintassi nella query SQL vicino a ''Selezionare..' WHERE trattamento='Selezionare..''

risposto 9 anni fa
sonny
X 0 X

se seleziono "asia" e "mezza pensione"

mi da questo errore qui:

Errore nella query: Errore di sintassi nella query SQL vicino a ''Asia' WHERE trattamento='Mezza Pensione'' linea1

il  che vuol dire che "asia" e "mezza pensione" li legge dalla tendina.. ma perchč allora sballa la query?

risposto 9 anni fa
sonny
X 0 X

il nomde delle tabelle non deve essere messo tra apici

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

 :D :D :D GRANDE GIANNI!!!!!!!!!!!!!!!!!!!!!!!!!!! :D :D :D

risposto 9 anni fa
sonny
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda