Foros del Web » Programando para Internet » PHP » CodeIgniter »

Mensaje de error si no hay resultado

Estas en el tema de Mensaje de error si no hay resultado en el foro de CodeIgniter en Foros del Web. Saludos, estoy desarrollando un sistema de busqueda, y lo que quiero es que me muestre un mensaje de error si en la consulta no hay ...
  #1 (permalink)  
Antiguo 08/03/2015, 18:13
Avatar de chinofilmshd  
Fecha de Ingreso: agosto-2012
Ubicación: Republica Dominicana
Mensajes: 47
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Mensaje de error si no hay resultado

Saludos, estoy desarrollando un sistema de busqueda, y lo que quiero es que me muestre un mensaje de error si en la consulta no hay resultado.

estos son los codigos que tengo que me funcionan pero quiero que me de el mensaje al no encontrar el resultado:

modelo
Código PHP:
public function buscar($bus)
    {
            
$this->db->like('codigo_premio'$bus);
            
$query $this->db->get('codigo_premios');
           
            return 
$query->result();
    }

controlador:
Código PHP:
    public function index()
    {
            
$titulo['title'] = 'Digita tu codigo';
            
            
$this->load->model('buscar_mod');
            
$this->load->view('layout/header',$titulo);
            
            if(
$_POST){
                
$buscar $this->input->post('busqueda');
                
$data['codigo_premios'] = $this->buscar_mod->buscar($buscar);
                
            } else {
            
                
$buscar "";
            }
            
            
$data['codigo_premios'] = $this->buscar_mod->buscar($buscar);
            
$this->load->view('premios',$data);
            
$this->load->view('layout/footer');
    } 

muchas gracias.
  #2 (permalink)  
Antiguo 28/03/2015, 12:34
Avatar de Alun  
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 4
Respuesta: Mensaje de error si no hay resultado

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 original
  1. public function index(){
  2.     $titulo['title'] = 'Digita tu código';
  3.  
  4.     $this->load->model('buscar_mod');
  5.     $this->load->view('layout/header');
  6.  
  7.     if($_POST){
  8.         $buscar = $this->input->post('busqueda');
  9.         $data['codigo_premios'] = $this->buscar_mod($buscar);
  10.  
  11.         //cargas la vista si hay alguna búsqueda
  12.         $this->load->view('buscar', $data);
  13.     }else{
  14.         //cargas una vista de error
  15.         $this->load->view('pagina_sin_busqueda');
  16.     }
  17.     $this->load->view('layout/footer');
  18. }

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

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.