Buenas, veo que haces la búsqueda dos veces en caso de recibir un dato por POST. En lugar de buscar la segunda vez, podrías comprobar si la variable está llena o no, y mostrar una página u otra en función, o simplemente mostrar la vista en el if así:
Código PHP:
Ver originalpublic function index(){
$titulo['title'] = 'Digita tu código';
$this->load->model('buscar_mod');
$this->load->view('layout/header');
if($_POST){
$buscar = $this->input->post('busqueda');
$data['codigo_premios'] = $this->buscar_mod($buscar);
//cargas la vista si hay alguna búsqueda
$this->load->view('buscar', $data);
}else{
//cargas una vista de error
$this->load->view('pagina_sin_busqueda');
}
$this->load->view('layout/footer');
}
No lo he probado, pero así debería funcionar lo que estás intentando hacer. Con ello te ahorras una de las búsquedas que haces
Un saludo