PHP to SQL on-change not updating
===

I have a fairly general problem. I have a small form

    	<form action="<?=base_url();?>ticket/close_ticket/<?=$ticket_details['id'];?>" method="post" id="close_ticket" name="close_ticket">
			<ul>
				<li><label for="frm_status">Status<span class="req">*</span></label>
					<span class="input">						
						<select id="frm_status" name="status" onchange="this.form.submit()">
								<option value="<? if ($ticket_details['status'] == "Open") $status= "1"; else $status= "2"; echo $status;?>"><? if ($ticket_details['status'] == "Open") $status= "Open"; else $status= "Closed"; echo $status;?></option>
								<option value="<? if ($ticket_details['status'] == "Open") $status= "2"; else $status= "1"; echo $status;?>"><? if ($ticket_details['status'] == "Open") $status= "Closed"; else $status= "Open"; echo $status;?></option>					
						</select>
					</span>
				</li>
			</ul>
		 </form>
This form contains the drop list option box, that on change submits the form to the close ticket controller......

    	  public function close_ticket()
	  {
	  	$this->load->model('ticket_model');
	  	$ticket_id = mysql_real_escape_string($this->uri->segment(3));
	  	 
	  	if($_POST)
	  	{
	  		//save ticket
	  		unset ($_POST['id']);
	  		$_POST['id'] = $ticket_id;
	  		$this->ticket_model->close_ticket($_POST);
	  			
	  		redirect(base_url().'ticket/edit/'.$ticket_id.'/');
	  		return;
	  
	  	}
	  	redirect(base_url().'ticket/edit/'.$ticket_id.'/');
	  }
which it does. This controller is to post the information to the model to update the SQL.....

    	public function close_ticket($ticket_post)
	{
	$query = $this->db->query("SELECT id FROM ".$this->tables_ticket." WHERE id = '".mysql_real_escape_string($ticket_post['id'])."';");
	
	if($query->num_rows() > 0)
			{
			$row = $query->row();
			$query = $this->db->query("UPDATE ".$this->tables_ticket."
										SET
										status = '".mysql_real_escape_string($ticket_post['status'])."'
										WHERE
										id = '".mysql_real_escape_string($ticket_post['id'])."'
										");
			}
		if($this->db->affected_rows() > 0) return true;
		else return false;
	}

then after all this, redirect back to the form. I am assuming that on redirect the form will then populate the drop list with the updated data. This is where I am struggling, as It sends the changed data, and somewhere it is not registering the change and returning the page, unchanged. 
Question, would this work with a confirmation/secondary submission page, followed by redirect, and is it that I am trying to return the changed data in the same function where it is failing?