/** * Método de busqueda * @param Array $array Datos a buscar * @return Array | false Array con los resultados o false cuando hay errores */ public static function buscar($array) { // comprobamos si el array que nos e if (!$array) { Session::add('feedback_negative', 'No se han recicibido datos'); return false; } else { // Existen datos hay que validarlo if (isset($array['busqueda'])) { if (empty(isset($array['busqueda'])) || mb_strlen(trim($array['busqueda'])) === 0) { Session::add('feedback_negative', 'No se han recicibido datos a buscar'); } else { // saneamos la busqueda $busqueda = Validaciones::limpiarString($array['busqueda']); $busqueda = '%' . $busqueda . '%'; // lanzo la consulta a la base de datos $usuario = (int) Session::get('user_id'); $params = [':busqueda' => $busqueda, ':usuario' => $usuario]; $resultado = EmpresaModel::search($params); if (!$resultado) { Session::add('feedback_negative', 'No se han encontrado resultados'); } return $resultado; } return Session::comprobarErrores(); } else { // No existe la busqueda Session::add('feedback_negative', 'No se han recicibido datos a buscar'); return false; } } }
/** * método que realiza la busqueda */ public function buscar() { if ($ofertas = OfertaModel::buscar($_POST)) { // llamamamos a la vista que permitira ver los resultados $datos = ['ofertas' => $ofertas]; echo $this->view->render('ofertas/listaOfertas', $datos); } else { // Hay errores if (isset($_POST['busqueda'])) { $_POST['busqueda'] = Validaciones::limpiarString($_POST['busqueda']); $ofertas = OfertaModel::todas(); $datos = ['ofertas' => $ofertas, 'busqueda' => $_POST['busqueda']]; echo $this->view->render("ofertas/index", $datos); } else { // no se ha realizado busqueda alguna header('Location: /Oferta'); exit; } } }