Ja tev nepatīk daudz ifi, tad vari mēģināt taisīt izvirtības! piemēram:
$where = ' 1=1';
$query_fields = array('pat_rsrch'=>'research_id','date1'=>'date','date2'=>'date','pat_usr'=>'user_id','pat_ptid'=>'patient_id','pat_std'=>'site_id');
foreach($query_fields as $value=>$field){
if(!empty($$value)){
$where.=" AND `{$field}` = '{$$value}'";
}
}
$rcrds = mysql_query("SELECT * FROM log WHERE {$where}")or die(mysql_error());
Par sintaksi nevaru garantēt, bet ideja ir aprakstīt visus php mainīgos un norādīt mysql kolonu. Pēc tam ciklā vienkārši pārbauda vai šī vērtība ir uzsetota un ja ir, tad pieliek where nosacījumu.
Uzmanību, piemēram $pat_rsrch = 0 tiks uzskatīts par neeksistējošu vērtību!