Support » Plugins » Need a "How to" for a search form with drop downs

  • I’m building a theme for car dealerships and made a search widget that is all drop-downs (make, min/max price, year, transmission, etc.).

    So the form is built, but I need to make it work. I know sometimes for search forms like this you have to build a separate php file that collects all the info and then does something (like a contact form), but I don’t know where to go from here.

    Thanks in advance.

    <form role="search" name="quick-search" action="" method="">
    
    <select name="make">
    	<option selected="selected" value="">Any</option>
    	<?php
    	global $wpdb;
    	$metakey = 'vehicle_make';
    	$makes = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) );
    	if ($makes) {
    		foreach ($makes as $make) {
    			echo "<option value=\"" . $make . "\">" . $make . "</option>";
    		}
    	}
    	?>
    </select><br />
    
    <select name="min-price">
    	<option value="0">No Min</option>
    	<option value="1000 ">$1,000</option>
    	<option value="1500 ">$1,500</option>
    	<option value="2000 ">$2,000</option>
    	<option value="2500 ">$2,500</option>
    	<option value="3000 ">$3,000</option>
    	<option value="3500 ">$3,500</option>
    	<option value="4000 ">$4,000</option>
    	<option value="4500 ">$4,500</option>
    	<option value="5000 ">$5,000</option>
    	<option value="5500 ">$5,500</option>
    	<option value="6000 ">$6,000</option>
    	<option value="6500 ">$6,500</option>
    	<option value="7000 ">$7,000</option>
    	<option value="7500 ">$7,500</option>
    	<option value="8000 ">$8,000</option>
    	<option value="8500 ">$8,500</option>
    	<option value="9000 ">$9,000</option>
    	<option value="9500 ">$9,500</option>
    	<option value="10000 ">$10,000</option>
    	<option value="15000 ">$15,000</option>
    	<option value="20000">$20,000</option>
    </select>
    
    <select name="max-price">
    	<option value="0">No Max</option>
    	<option value="1000 ">$1,000</option>
    	<option value="1500 ">$1,500</option>
    	<option value="2000 ">$2,000</option>
    	<option value="2500 ">$2,500</option>
    	<option value="3000 ">$3,000</option>
    	<option value="3500 ">$3,500</option>
    	<option value="4000 ">$4,000</option>
    	<option value="4500 ">$4,500</option>
    	<option value="5000 ">$5,000</option>
    	<option value="5500 ">$5,500</option>
    	<option value="6000 ">$6,000</option>
    	<option value="6500 ">$6,500</option>
    	<option value="7000 ">$7,000</option>
    	<option value="7500 ">$7,500</option>
    	<option value="8000 ">$8,000</option>
    	<option value="8500 ">$8,500</option>
    	<option value="9000 ">$9,000</option>
    	<option value="9500 ">$9,500</option>
    	<option value="10000 ">$10,000</option>
    	<option value="15000 ">$15,000</option>
    	<option value="20000">$20,000</option>
    	<option value="30000">$30,000</option>
    </select><BR />
    
    <select name="transmission">
    	<option selected="selected" value="">Any</option>
    	<?php
    	global $wpdb;
    	$metakey = 'vehicle_transmission';
    	$transmissions = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) );
    	if ($transmissions) {
    		foreach ($transmissions as $transmission) {
    			echo "<option value=\"" . $transmission . "\">" . $transmission . "</option>";
    		}
    	}
    	?>
    </select>
    
    <select name="year">
    	<option selected="selected" value="">Any</option>
    	<option value="2013">2013 +</option>
    	<option value="2012">2012 +</option>
    	<option value="2011">2011 +</option>
    	<option value="2010">2010 +</option>
    	<option value="2009">2009 +</option>
    	<option value="2008">2008 +</option>
    	<option value="2007">2007 +</option>
    	<option value="2006">2006 +</option>
    	<option value="2005">2005 +</option>
    	<option value="2000">2000 +</option>
    	<option value="1995">1995 +</option>
    	<option value="1990">1990 +</option>
    </select><br />
    
    <select name="body">
    	<option selected="selected" value="">Any</option>
    	<?php
    	global $wpdb;
    	$metakey = 'vehicle_body';
    	$body_types = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) );
    	if ($body_types) {
    		foreach ($body_types as $body) {
    			echo "<option value=\"" . $body . "\">" . $body . "</option>";
    		}
    	}
    	?>
    </select>
    
    <input type="submit" value="search" />
    </form>
  • The topic ‘Need a "How to" for a search form with drop downs’ is closed to new replies.