Pagina 1 di 1

Ricezione dati da form

Inviato: 21/06/2017, 21:36
da poison81
Ciao a tutti...
Sto cambiando le pagine di un vecchio sito realizzato in ASP con pagine in PHP.
Sto avendo un pò di problemi solo con una cosa: il modulo di ricerca.
Mi spiego meglio...in ASP ho realizzato questo tipo di variabili:

categoria=request("categoria")
if categoria <> "" then varQuerycategoria = " AND categoria = '"&categoria&"' "
tipologia=Request("tipologia")
if tipologia <> "" then varQuerytipologia = " AND tipologia = '"&tipologia&"' "
e così via...

Con questo tipo di query:

sql="select * from immobili "
sql= sql & " where contratto='"&ven&"' "
sql= sql & " "&varQuerycategoria&" "
sql= sql & " "&varQuerytipologia&" "
sql= sql & " "&varQueryzona&" "
sql= sql & " "&varQuerymin&" "&varQuerymax&" "&varQueryMinMax&" "
sql= sql & " order by prezzo asc "

Come trasformo il tutto in PHP?
sto provando in questa maniera ma mi trova solo il primo record e cioè $contratto e poi niente più:

$categoria = isset($_GET['categoria']) ? $_GET['categoria'] : '';

$sql = "select * from immobili where 1=1";
if($categoria){
$sql .= " AND categoria = '".mysqli_real_escape_string($categoria)."'";
}
if($tipologia){
$sql .= " AND tipologia = '".mysqli_real_escape_string($tipologia)."'";
}
$sql .= " ORDER BY prezzo asc";

Sto impazzendo...

Grazie in anticipo per l'aiuto...

Re: Ricezione dati da form

Inviato: 21/06/2017, 21:56
da poison81
Nessun suggerimento?

Re: Ricezione dati da form

Inviato: 21/06/2017, 23:11
da Micogian
Bisognerebbe sapere altre cose, ad esempio la tabella è unica? i valori del tipo "categoria", "tipologia", ecc sono testi o numeri.
Poi bisogna vedere come viene fatta la selezione, GET (da url) o POST (dalla pagina stessa.)
Una query in php si fa così:

Codice: Seleziona tutto

$result = @mysql_query("SELECT * 
FROM immobili
WHERE categoria like '".$categoria_cor."'
AND tipologia like '".$tipologia_cor."'
ORDER BY prezzo ASC");
if (!$result) {
  exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
$x = '0' ;  // valore di partenza
while ($row = mysql_fetch_array($result)) {
$campo1[$x] = $row['campo1'] ;
$campo2[$x] = $row['campo2'] ;
$campo3[$x] = $row['campo3'] ;
++$x;
}
Per visualizzare il risultato

Codice: Seleziona tutto

for(i=0; $i < $x; ++$i)
{
echo "campo1= " . $campo1[$i] . " - campo2= " . $campo2[$i] . " - campo2= " . $campo2[$i]. "<br />";
}
Il risultato sarà un ciclo fino al raggiungimento del valore $x.