>> Trying to find best way to accomplish following scenario. Looking to search >> inventory through a POST form, have the following optional fields to search >> by: Product Name, Color, Size, and Status. Search maybe for the Product >> Name and/or Color or they may search for just the Color or all 4 fields. I >> am trying to find the most efficient way to do this without having 100 >> different if statements. > > <?php > > $where = array( '1 = 1' ); > > if( !empty( $_POST['name'] ) ) > { > where[] = 'name = '.$db->quote( $_POST['name'] ); > } > > if( !empty( $_POST['colour'] ) ) > { > where[] = 'colour = '.$db->quote( $_POST['colour'] ); > } > > if( !empty( $_POST['size'] ) ) > { > where[] = 'size = '.$db->quote( $_POST['size'] ); > } > > if( !empty( $_POST['status'] ) ) > { > where[] = 'status = '.$db->quote( $_POST['status'] ); > } > > $query = > "SELECT " > ." * " > ."FROM " > ." inventory " > ."WHERE " > ." (".implode( ") AND (", $where ).")"; > > ?> > > Cheers, > Rob. Yep, that's the way to do it. Or you may do it this way. $fields = array('name','colour','size','status'); foreach ($_POST as $name => $value) { if (empty($value)) continue; if (!in_array($name, $fields, TRUE)) continue; $where[] = $name . '=' . $db->quote($value); } which is more compact and useful when you have 100 different optional fields. Virgil http://www.jampmark.com Free tips, tutorials, innovative tools and techniques useful for building and improving web sites. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php