Welcome Guest, Not a member yet? Register   Sign In
sql to filter data from dropdown boxes
#2

[eluser]richzilla[/eluser]
Im not sure i entirely understand your question but ill give it a shot anyway.

Your looking for a way to add a search function into a site, and add 'default' values into your dropdown boxes that don't necessarily appear in your database? The first bit is relatively easy. In your controller simply add an extra arbitrary value onto your array of values. 0 or -1 is a good idea as it doesn't need to be changed if you find yourself getting more results than you anticipated. (the -1 idea came from facebook). The sql query itself is a bit more complicated. In your model if you check that the returned value does not equal your default value, then add the relavant 'where' clause onto your query, and build it as a string. I wrote a very similar function for a project we were working on:
Code:
function db_search ($search_array)
        {
            $start_date = $search_array['start_date'];
            $end_date = $search_array['end_date'];
            
            $query_string = "SELECT issues.*, assignments.assignment_user_id, priorities.priority_code, status_list.status_code
                                   FROM issues
                                   LEFT JOIN assignments ON issues.issue_id = assignments.assignment_issue_id
                                   LEFT JOIN priorities ON issues.issue_priority_id = priorities.priority_id
                                   LEFT JOIN status_list ON  issues.issue_status_id = status_list.status_id
                                   WHERE issue_raised > ".mysql_real_escape_string($start_date) ."
                                   AND issue_raised < ". mysql_real_escape_string($end_date);
            
            if($search_array['raised_by'] != 0)
            {
                $query_string .= " AND issue_raised_by = ".mysql_real_escape_string($search_array['raised_by']);
            }
            
            if($search_array['open_closed'] == 1)
            {
                $query_string .= " AND issue_closed_by IS NULL";
            }
            elseif($search_array['open_closed'] == 2)
            {
                $query_string .= " AND issue_closed_by IS NOT NULL";
            }
            
            if($search_array['priority'] != 0)
            {
                $query_string .= " AND issue_priority_id = ".$search_array['priority'];
            }
            
            if($search_array['status'] != 0)
            {
                $query_string .= " AND issue_status_id = ".$search_array['status'];
            }
            
            if($search_array['assigned'] != 0)
            {
                $query_string .= " AND assignments.assignment_user_id = ".$search_array['assigned'];
            }
            
            $result = $this->db->query($query_string);
            
            $data = $result->result();
            
            return $data;
        }


Messages In This Thread
sql to filter data from dropdown boxes - by El Forum - 02-08-2010, 05:21 AM
sql to filter data from dropdown boxes - by El Forum - 02-08-2010, 08:00 AM
sql to filter data from dropdown boxes - by El Forum - 02-09-2010, 07:17 AM



Theme © iAndrew 2016 - Forum software by © MyBB