Salve,
Come posso inserire in un sito un campo di ricerca $_POST[search] dal quale un visitatore può cercare un particolare immobile o articolo e visualizzarlo senza doverlo cercare tra tutti?
Moderatori: Anthony47, Triumph Of Steel, archimede
$stringa="$_POST[stringa]";
$sql="SELECT*FROM $tabella WHERE ";
$lista_parole=explode(" ",$stringa);
for($i=0;$i<count($lista_parole);$i++)
{
$str.="titolo LIKE '%$lista_parole[$i]%' OR ";
}
$str=substr($str,0,(strlen($str)-3));
$sql.=$str." ORDER BY id";
$prez=$_POST[prez];
if ($prez=="oltre"){
$max="$prez > 150.000";
if ($prez > 150.000)
$sql.="prezzo LIKE '%$max%'";
}
elseif ($prez=="meno")
{
$meno="$prez < 150.000";
$sql.="prezzo LIKE '%$meno%'";
}
$mqu=$_POST[mquadri];
if ($mqu=="max"){
$max="$mqu>150";
if ($mqu>150)
$sql.="mq LIKE '%$max%'";
}
elseif ($mqu=="min")
{
$min="$mqu<150";
if ($mqu<150)
$sql.="mq LIKE '%$min%'";
}
$cn=mysql_connect($host,$uid,$pw);
mysql_select_db($db,$cn);
$sql="SELECT*FROM $tabella WHERE ";
$prez=$_POST[prez];
if ($prez){
if ($prez=="oltre"){
$max="$prez > 150000";
if ($prez > 150000)
$sql.="prezzo LIKE '%$max%'";
}
elseif ($prez=="meno")
{
$meno="$prez < 150000";
if ($prez < 150000)
$sql.="prezzo LIKE '%$meno%'";
}
}
$mqu=$_POST[mquadri];
if($mqu){
if ($mqu=="max"){
$max="$mqu>150";
if ($mqu>150)
$sql.="mq LIKE '%$max%'";
}
elseif ($mqu=="min")
{
$min="$mqu<150";
if ($mqu<150){
$sql.="mq LIKE '%$min%'";
}
}
$sql.=" AND prezzo > ".$max; (sintassi da verificare, non sono esperto di PHP).converti i campi in tipo numerico e usa gli operatori appropriati.
campo > valore
campo < valore
campo BETWEEN val1 AND val2
campo = valore
$prezzoDA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoDA'] )) ? $_POST['prezzoDA'] : 0;
$prezzoA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoA'] )) ? $_POST['prezzoA'] : 0;
if ($prezzoA > $prezzoDA) {
$prezzoA = $prezzoDA;
}
if ($prezzoDA > 0 && $prezzoA > 0) {
$sql .= " AND prezzo BETWEEN {$prezzoDA} AND {$prezzoA}";
} else if ($prezzoDA > 0 && $prezzoA <= 0) {
$sql .= " AND prezzo >= {$prezzoDA}";
} else if ($prezzoDA <= 0 && $prezzoA > 0) {
$sql .= " AND prezzo <= {$prezzoA}";
}
<?php
include("connessione.php");
$stringa=$_POST[stringa];
if (!$stringa or $stringa==""){
echo "<font face=\"arial\" size=\"2\">E' necessario specificare la/le parola/parole da cercare<br><a href=\"javascript:history.back()\">indietro</a></font>";
exit();
}
$cn=mysql_connect($host,$uid,$pw);
mysql_select_db($db,$cn);
$sql="SELECT*FROM $tabella WHERE ";
$lista_parole=explode(" ",$stringa);
for($i=0;$i<count($lista_parole);$i++)
{
$str.="titolo LIKE '%$lista_parole[$i]%' OR ";
}
$str=substr($str,0,(strlen($str)-3));
$prezzoDA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoDA'] )) ? $_POST['prezzoDA'] : 0;
$prezzoA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoA'] )) ? $_POST['prezzoA'] : 0;
if ($prezzoA > $prezzoDA) {
$prezzoA = $prezzoDA;
}
if ($prezzoDA > 0 && $prezzoA > 0) {
$sql .= "AND prezzo BETWEEN {$prezzoDA} AND {$prezzoA}";
} else if ($prezzoDA > 0 && $prezzoA <= 0) {
$sql .= "AND prezzo >= {$prezzoDA}";
} else if ($prezzoDA <= 0 && $prezzoA > 0) {
$sql .= "AND prezzo <= {$prezzoA}";
}
$sql.=$str." ORDER BY id";
$mqu=$_POST[mquadri];
if ($mqu=="max"){
$sql.="mq >150";
}
elseif ($mqu=="min")
{
$sql.="mq <150";
}
$query=mysql_db_query($db,$sql);
$num=mysql_num_rows($query);
?>
<?php
include("connessione.php");
$stringa=$_POST[stringa];
if (!$stringa or $stringa==""){
echo "<font face=\"arial\" size=\"2\">E' necessario specificare la/le parola/parole da cercare<br><a href=\"javascript:history.back()\">indietro</a></font>";
exit();
}
$cn=mysql_connect($host,$uid,$pw);
mysql_select_db($db,$cn);
$sql="SELECT*FROM $tabella WHERE ";
$lista_parole=explode(" ",$stringa);
for($i=0;$i<count($lista_parole);$i++)
{
$str.="titolo LIKE '%$lista_parole[$i]%' OR ";
}
$str=substr($str,0,(strlen($str)-3));
$prezzoDA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoDA'] )) ? $_POST['prezzoDA'] : 0;
$prezzoA = (preg_match( "/^(\d+),?(\d{1,2})?$/" , $_POST['prezzoA'] )) ? $_POST['prezzoA'] : 0;
if ($prezzoA > $prezzoDA) {
$prezzoA = $prezzoDA;
}
if ($prezzoDA > 0 && $prezzoA > 0) {
$sql .= "AND prezzo BETWEEN {$prezzoDA} AND {$prezzoA}";
} else if ($prezzoDA > 0 && $prezzoA <= 0) {
$sql .= "AND prezzo >= {$prezzoDA}";
} else if ($prezzoDA <= 0 && $prezzoA > 0) {
$sql .= "AND prezzo <= {$prezzoA}";
}
$mqu=$_POST[mquadri];
if ($mqu=="max"){
$sql.="AND mq >150";
}
elseif ($mqu=="min")
{
$sql.="AND mq <150";
}
$sql.=$str." ORDER BY id";
$query=mysql_db_query($db,$sql);
$num=mysql_num_rows($query);
Alessandroarchimede ha scritto:Posta qui il contenuto della variabile $sql immediatamente prima di mysql_db_query.
archimede ha scritto:Alessandroarchimede ha scritto:Posta qui il contenuto della variabile $sql immediatamente prima di mysql_db_query.
Alessandroarchimede ha scritto:Posta qui IL CONTENUTO della variabile $sql immediatamente prima di mysql_db_query.
Decisamente. Sono in grado di leggere il codice che hai postato, ma a me interessa IL VALORE effettivo di quella variabile nel momento in cui esegui la pagina: fattelo stampare (il valore) sul browser.gahan ha scritto:Mi sto un po confondendo
archimede ha scritto:Decisamente. Sono in grado di leggere il codice che hai postato, ma a me interessa IL VALORE effettivo di quella variabile nel momento in cui esegui la pagina: fattelo stampare (il valore) sul browser.gahan ha scritto:Mi sto un po confondendo
Alessandro
Macro che ricerca combinazioni che danno un valore Autore: kar64 |
Forum: Applicazioni Office Windows Risposte: 10 |
Inserimento dati su tabella da codice a barre Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 80 |
Ricavare dati di origine di un grafico online Autore: wallace&gromit |
Forum: Applicazioni Office Windows Risposte: 19 |
Visitano il forum: Nessuno e 11 ospiti