Results 1 to 4 of 4

Thread: Compining Search Criteria

Hybrid View

  1. #1
    Join Date
    Sep 2013

    Compining Search Criteria

    Am Stranded and am requesting for help.
    I am developing a car sales system but am unable to compine search criteria e.g the model of the car and price range; body, category and pricerange; model, transmission, fueltype and condition e.t.c
    Someone Kindly help me.
    The code below is able to search each individual feature on its own.

    mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
    $category = $_POST['Category'];
    //default form values
    $category_default ="-select-";

    $default_values = array($body_default, $category_default, $Model_default, $price_default, $Transmission_default, $Fuel_default, $Colour_default,$Condition_default );

    $search = array($body, $category, $Model,$price, $Transmission, $Fuel, $Colour, $Condition);

    foreach( $default_values as $default)
    foreach ($search as $value)

    $sql="SELECT * FROM $tbl where body='".$search[0]."' || category = '".$search[1]."' || model = '".$search[2]."' || pricerange = '".$search[3]."'
    || transmission = '".$search[4]."' || fueltype = '".$search[5]."' || color = '".$search[6]."' || carcondition = '".$search[7]."' && status='Available' ";


    $result = mysql_query($sql);



  2. #2
    Join Date
    Jul 2013
    You are misunderstanding how the foreach works.

    When you build a foreach loop, only ONE element of the array is available in each loop iteration. YOu are trying to use multiple $search[] elements all at once in each pass of your two loops.

    Since you never use $value or $search in your query, just what exactly are you doing with the foreach statements?

    I think what you want to do is build your Where clause by looping thru the known POST fields and building the Where list in a string variable.

    $where_vals = array();
    foreach ($_POST as $k=>$v)
       switch ($k)
         case "Body_Type":
             $where_vals[] = "body = '$v';
         case "Category":
             $where_vals[] = "category = '$v';
    and so on for each item you want to be able to include in your search.


    $where_list = implode(" && ",$where_vals);
    Then in your query you would then have:
    $q = "select * from $tbl where = $where_list";

  3. #3
    Join Date
    Sep 2013
    Much appreciation. Applying ur noble suggestions.

  4. #4
    Join Date
    Sep 2013
    Here is the sample query for you. just give you an idea how to write your query.

    $query = "SELECT * FROM `wp_pelleresuser` WHERE `status`=1";
    if(isset($profile) && !empty($profile))
    $length_profile = explode(',',$profile);
    $query.= " AND FIND_IN_SET('".$length_profile[$i]."',profile_type)";
    if(isset($name) && !empty($name))
    $query.= " AND `first_name` LIKE '".$name."'";
    if(isset($city) && !empty($city))
    $query.= " AND `city_trainer` LIKE '".$city."' OR `city_studio` LIKE '".$city."' OR `city_reseller` LIKE '".$city."'";
    if(isset($state) && !empty($state))
    $query.= " AND `state_trainer` LIKE '".$state."' OR `state_studio` LIKE '".$state."' OR `state_reseller` LIKE '".$state."'";
    if(isset($postal) && !empty($postal))
    $query.= " AND `postal_trainer` LIKE '".$postal."' OR `postal_studio` LIKE '".$postal."' OR `postal_reseller` LIKE '".$postal."'";

    Hope it helps you.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center

Recent Articles