Ho il seguente codice:
codice:
$sql = sprintf("select p.listning_id,p.category,p.propname,p.surface,p.propertytype,p.garden,
p.status,p.address,p.place,p.price,p.status,
p.garagebox,p.totrooms,p.level,p.floors,p.buildyear,p.description,
p.elevator,p.veranda,p.carspace,p.bedrooms,p.bathrooms,p.swimingpool,
r.region,pv.province,t.town,pv.abbr, im.gallery_image from %s as p
inner join %s as c on p.status=c.conditionid
inner join %s as r on p.region=r.regionid
inner join %s as pv on p.province=pv.provinceid
inner join %s as t on p.town=t.townid
left join %s as im on p.listning_id=im.pid
and im.img_order=1 where p.category='%d' and p.region='%d' and p.province='%d' and p.town='%d' or
p.propertytype='%d' or ((p.price>='%f' and p.price<='%f') and (p.surface >='%d' and
p.surface <='%d')) order by %s %s",TAB_LISTPROP,TAB_CONDITION,TAB_REGION,
TAB_PROVINCE,TAB_TOWN,TAB_PROD_IMG,$_POST['proptype'],$_POST['region'],$_POST['province'],$_POST['town'],
$_POST['propertytype'],$_POST['lprice'],$_POST['uprice'],$_POST['lsurface'],
$_POST['usurface'],$sortby,$sort);
Di questo codice non riesco a modificare questo:
codice:
where p.category='%d' and p.region='%d' and p.province='%d' and p.town='%d' or
p.propertytype='%d' or ((p.price>='%f' and p.price<='%f') and (p.surface >='%d' and
p.surface <='%d'))
Io voglio che vengano visualizzati i campi solo se tutte le condizioni vengono verificate. Quindi se corrispondono Categoria, Regione, Provincia, Città, PropertyType e, se prezzo e superfie sono diversi da zero, se c'è corrispondenza anche con prezzo e superficie.
Quindi prezzo e superficie vengono verificati solo se quelli specificati nel modulo di ricerca sono diversi da zero.
Io penso che sia così:
if prezzominimo or prezzomassimo > 0 then
qui ci va la SQL che controlla anche il prezzo
End if
if superficieminima or superficiemassima > 0 then
qui ci va la SQL che controlla anche la superficie
End if
if (prezzominimo or prezzomassimo > 0) and (superficieminima or superficiemassima) > 0 then
qui il codice che controlla anche prezzo e superficie
End if
Quindi come devo modificare il codice postato sopra in modo che mi controlli in modo condizionato anche prezzo e superficie (solo se i valori di ricerca impostati dall'utente sono diversi da zero)?
Grazie.
Ciao.