0

Hi all,

I am trying to handle an sql query for multiple dropdowns where all won't neccessarily be active.

EX:

Dropdown1: CITY
Dropdown2: STATE
Dropdown3: COMPANY

BUTTON: GO

Need the ability to choose from one, two or all to make a query.

Here is what I have now:

Above the doc type:

// get user from db
if($_GET['city'])
{
    $profile_id = $_GET['city'];
}
else
{
    $profile_id = $_SESSION['id'];
}

$agent=$_GET['city'];
// get the profile from the database ready to display	 
  $select_profile = mysql_query("SELECT * FROM users WHERE id ='$profile_id'");
  
// get the array now
  $preview_profile = mysql_fetch_array($select_profile);
  
// get the profile details from the array
  $username = $preview_profile['username'];
  $email = $preview_profile['email'];
  $fname = $preview_profile['fname'];
  $lname = $preview_profile['lname'];
  $title = $preview_profile['title'];
  $office = $preview_profile['office'];
  $phone = $preview_profile['phone'];
  $mobile = $preview_profile['mobile'];
  $fax = $preview_profile['fax'];
  $website = $preview_profile['website'];
  $bio = $preview_profile['bio'];
  $image = $preview_profile['avatar'];
  $userlevel=$preview_profile['userlevel'];
  $email_notify=$preview_profile['email_notify'];

In the Body:

<FORM ACTION="" METHOD=GET >
     	   <SELECT NAME="city">
             <OPTION VALUE='0'>Choose a city...</OPTION>
             <?php
             $all_cities = mysql_query("SELECT id, city FROM users ORDER BY city");
             while($show_cities = mysql_fetch_array($all_cities)){
             $agent_id = $show_cities['id'];
             $city_name = $show_cities['city'];
    
             echo "<option value=\"$agent_id\">$city_name</option>";
	
	         }//end of while
             ?>
           </SELECT>
           <br/>
           <br/>
     	   <SELECT NAME="state">
             <OPTION VALUE='0'>Choose a state...</OPTION>
             <?php
             $all_states = mysql_query("SELECT id, state FROM users ORDER BY state");
             while($show_states = mysql_fetch_array($all_states)){
             $agent_id = $show_states['id'];
             $state_name = $show_states['state'];
    
             echo "<option value=\"$agent_id\">$state_name</option>";
	
	         }//end of while
             ?>
           </SELECT>
           <br/>
           <br/>
     	   <SELECT NAME="company">
             <OPTION VALUE='0'>Choose a company...</OPTION>
             <?php
             $all_offices = mysql_query("SELECT id, office FROM users ORDER BY office");
             while($show_offices = mysql_fetch_array($all_offices)){
             $agent_id = $show_offices['id'];
             $office_name = $show_offices['office'];
    
             echo "<option value=\"$agent_id\">$office_name</option>";
	
	         }//end of while
             ?>
           </SELECT>
           <br/>
           <br/>
          <INPUT TYPE=SUBMIT class="button_login" VALUE="Go">
         </FORM>

Totally appreciate any help on this...

Edited by phaedrusGhost: n/a

2
Contributors
2
Replies
3
Views
7 Years
Discussion Span
Last Post by phaedrusGhost
0
if( empty($_GET['city']) )
{
    $city_id = "city_id = '" . $_GET['city'] . "' ";
} else if ( empty($_GET['state']) ) {
    $state = " AND state = ' " . $_GET['state'] . " ' ";
else
{
    $profile_id = $_SESSION['id'];
}

the build the query like so

"SELECT * FROM users WHERE $city_id $state";

I hope this helps you.
I am sure there is a smarter way to do this .. but it's 5 a clock here :D

0

Hi Ancyent, been at some other tasks on this site and will try out your suggestion in the next couple of days. Thank you for the reply, always much appreciated.

Cheers...

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.