Nueva pregunta

Pregunta:

Fecha: 01-06-2018 08:59:17 (En Español)

Quisiera saber como puedo resolver una busqueda por filtros[No resuelta]

Hola, estoy comenzando con el framework codeigniter y no logro resolver este problema, tengo una tabla de documentos la cual esta relacionada con varia tablas como empresa, tipo de doc, etc la cual me muestra todos los documentos que tengo en el sistema, y quisiera tener un buscador que no fuera general sino por filtros ejemplo: que dada la empresa , el tipo de doc que sea y una rango de fecha me listara todos los documentos que tiene.

Etiquetas: Base de Datos - Buscador - Framework - MySQL - PHP - Pregunta Votos: 0 - Respuestas: 2 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 02-06-2018 06:18:24 te recomiendo que trabajes con el modelo de codeigniter, en donde le podras pasar parametros a la llamada, si bien, algunos aun usan "consultas directas" (escribir la query en codigo), te recomiendo que utilices procedimientos almacenados con parametros de entrada.

    estos parámetros los puedes pasar mediante el controlador al modelo, es decir:

    formulario(con parametros) -> controlador -> modelo controlador -> bbdd.

    te añado un link de un video basico. ojala te sirva, saludos:

    como consultar una bbdd usando codeigniter


      Votos: 0 - Link respuesta
     
  • Fecha: 02-06-2018 10:30:18 Ok no veo como tienes estructurada tu búsqueda, es decir si lo haces mediante ajax o directa, o si las tablas están relacionadas en un campo especifico o toda la data esta en una misma tabla, lo que puedo es decirte que podrías validar si algunos parámetros están llegando en la petición para armar la query, algo así:

    
    $this->db->select('*');
    $this->db->from('documentos');
    if(isset($_POST['empresa'])){
        $this->db->where('empresa =',$_POST['empresa']);
    }
    if(isset($_POST['tipodoc'])){
        $this->db->where('tipodoc =',$_POST['tipodoc']);
    }
    if(isset($_POST['fechareg'])){
        $this->db->where('fechareg =',$_POST['fechareg']);
    }
    $q = $this->db->get();
    return ($q->num_rows()>=1) ? $q->result() : false;
    
    


    en la anterior muestra estoy validando si llegan los parámetros para filtrar, en caso de no llegar ninguno de ellos, el sistema me realiza la búsqueda completa sin filtrar en la tabla, y de igual manera si existen registros coincidentes, retorno el resultado, en caso contrario un false.

    En codeigniter hay muchas maneras de realizar estas tareas de una manera simple como el framework, por ello lo uso en mi empresa.

    Saludos
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com