Does this fit your idea of a "more elegant solution"? This is just an enhanced and tested version of the one I posted earlier (somehow I had time and was curious about it).
<?php if (isset($_POST['var'])){ // if POSTed // initial query // make sure "WHERE" not included when none is selected $qpon = "SELECT BillDate, StateInd, BAN, Type, PON, Phrase,"; $qpon .= " PhraseLine1, USOC, Description, RateZone, Rate"; $qpon .= " FROM tblUSOCChargesDetail"; $its_set = 1; // my super "switch" foreach ($_POST['var'] as $key => $value){ // walk if ($value != 0){ // make sure the "--- Select ---" is not included if ($its_set == 1){ $qpon .= " WHERE USOC = '" . $value . "'"; $its_set = 2; // just to make sure "WHERE" is only added once } else { $qpon .= " AND USOC = '" . $value . "'"; } } } // end of foreach } $qpon .= " ORDER BY BillDate"; echo "$qpon"; // Check the generated query ?> And this is what I used for testing: // html headers here <form action="testpulldown.php" method="post"> First option <select name="var[]"> <option value="0">--- Select ---</option> <option value="1a">1a</option> <option value="1b">1b</option> <option value="1c">1c</option> </select> <br /> Second option <select name="var[]"> <option value="0">--- Select ---</option> <option value="2a">2a</option> <option value="2b">2b</option> <option value="2c">2c</option> </select> <br /> Third option <select name="var[]"> <option value="0">--- Select ---</option> <option value="3a">3a</option> <option value="3b">3b</option> <option value="3c">3c</option> </select> <br /> Fourth option <select name="var[]"> <option value="0">--- Select ---</option> <option value="4a">4a</option> <option value="4b">4b</option> <option value="4c">4c</option> </select> <br /> <input type="submit" name="submit" value="Submit" /> </form> // end of html Put them in the same file and name the file "testpulldown.php". (Of course, you know...) The "beauty", I thought is, the query would still work even though none of the "pull-downs" were selected--of course, I don't how much data will be shown... NOTE: You can even have MORE pull-downs with this kind of approach. (...and less code...) BTW, who is "Todd"? I didn't see his post... Just curious... - E > >Todd came in with a good suggestion which I had started towards, so this is >what I have arrived at for the moment. I will be looking to make this more >elegant soon, but since they are screaming for the report now this is what I >did; > ><?php > if($usoc1 <> "--- Select ---"){ > $usoc[] = $usoc1; > } > if($usoc2 <> "--- Select ---"){ > $usoc[] = $usoc2; > } > if($usoc3 <> "--- Select ---"){ > $usoc[] = $usoc3; > } > if($usoc4 <> "--- Select ---"){ > $usoc[] = $usoc4; > } > $usoc_count = count($usoc); > > // query details > $qpon = "SELECT BillDate, StateInd, BAN, Type, PON, Phrase, PhraseLine1, >USOC, Description, RateZone, Rate "; > $qpon .= "FROM tblUSOCChargesDetail WHERE "; > $first = 0; > for($i = 0; $i < $usoc_count; $i++){ > if($first == 0){ > $qpon .= "USOC = '" . $usoc[$i] . "' "; > $first = 1; > } else { > $qpon .= "AND USOC = '" . $usoc[$i] . "' "; > } > } > $qpon .= "ORDER BY BillDate "; > if(!($dbpon = mysql_query($qpon, $dbconnect))){ > print("MySQL reports: " . mysql_error() . "\n"); > exit(); > } >?> > >I am sure that there is a more elegant solution, if I find it I will let you >know. > >Thanks! > >Jay > > > >-- >PHP General Mailing List (http://www.php.net/) >To unsubscribe, visit: http://www.php.net/unsub.php > _________________________________________________________________ かわいくて愉快なイラスト満載 MSN キャラクター http://character.msn.co.jp/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php