If condition in query

From: Date: Thu, 18 Nov 2010 15:52:09 +0000
Subject: If condition in query
Groups: php.db 
Request: Send a blank email to php-db+get-47495@lists.php.net to get a copy of this message
Dear list - Thank you for all your excellent help. I wish to search a table. In this case, I have five(5) columns: site, Record, BMI, Weight and Height. I wish to be able to search on one or more of the columns. If I use a query like: $ste = $_POST['site']; $req = $_POST['Record']; $wgt = $_POST['Weight']; $hgt = $_POST['Height']; $bmi = $_POST['BMI']; $sql1 = "select * from intake2 where site = '$ste' && Weight = '$wgt' && Record = '$req' && '$hgt' = Height && '$bmi' = BMI "; $result = mysqli_query($cxn, $sql1); and do not use all the variables, no data is returned. I use to extract the data from the query. while($row = mysqli_fetch_array($result[0]))
    {
        $site2 = $row[0];
        $record2 = $row[1];
        $bmi2 = $row[2];
        $wgt2 = $row[3];
        $hgt2 = $row[4];
        printf("%s\t%d\t%3.1f\t%d\t%d<br />", $site2, $record2, $bmi2, $wgt2, $hgt2);
    }
If I put an extra test in the query to exclude blank values;eg, (if(isset ($bmi) && '$bmi' = BMI ), $result defaults to a boolean and mysqli_fetch_array($result) fails. I wish to be able to search on one or more, but not necessarily all, of the parameters and be able to output the results. Advice and help please. Thanks in advance. Ethan

« previous php.db (#47495) next »