public function index_old(array $datos = array()) { $clausulas['where'] = 'categoria_id <> 1'; //$clausulas['where'] = isset($_REQUEST['categoria']) ? 'categoria_id like "%'.$_REQUEST['categoria'].'%"' : (isset($_REQUEST['p3']) ? 'categoria_id like "%'.$_REQUEST['p3'].'%"' : 'categoria_id <> 1' ); if (isset($_REQUEST['p3'])) { $sql = 'select id from 3da2_categorias where categoria like "%' . $_REQUEST['p3'] . '%"'; $categoria_id = \modelos\Modelo_SQL::execute($sql); if (count($categoria_id)) { $clausulas['where'] = 'categoria_id = "' . $categoria_id[0]['id'] . '"'; } //Categorias especiales: if ($_REQUEST['p3'] == '2jugadores') { $clausulas['where'] = '(num_min_jug <= 2 and num_max_jug >= 2) or categoria_id = 2'; } elseif ($_REQUEST['p3'] == 'solitarios') { $clausulas['where'] = 'num_min_jug = 1'; } elseif ($_REQUEST['p3'] == 'busqueda') { $busqueda = isset($_SESSION['busqueda']) ? $_SESSION['busqueda'] : ''; $clausulas["where"] = "nombre like '%{$busqueda}%' "; /* $busqueda =array('nombre' => isset($_SESSION['busqueda'])?$_SESSION['busqueda']:'' ); self::busqueda($busqueda); */ } } $next_grp = isset($_REQUEST['p4']) ? $_REQUEST['p4'] : 0; $next_art = $next_grp * self::$num_arts_por_pag; $clausulas['order_by'] = 'nombre'; //Ordenamos por lo que venga en $_REQUEST['ordenar_por'] mejorar No funciona al pasar a otra seccion $order_by = isset($_REQUEST['ordenar_por']) ? $_REQUEST['ordenar_por'] : 'nombre'; if (isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null) { //Aqui entrará al realizar una ordenación y en este caso mostraremos el doble de artículos evitando que aparezcan las flechas inferiores para avanzar de sección en la vista/articulos/index.php $order_by = $_REQUEST['ordenar_por']; self::$num_arts_por_pag *= 2; } //$order_by = isset($_REQUEST['p5'])?$_REQUEST['p5']:$order_by; $clausulas['order_by'] = $order_by; /* if(isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null){ $clausulas['order_by'] = \core\Array_Datos::contenido("ordenar_por", $_REQUEST); $_SESSION['usuario']['order_by'] = $clausulas['order_by']; } */ $clausulas['limit'] = $next_art . "," . self::$num_arts_por_pag; //$datos["filas"] = \modelos\self::$tabla::select($clausulas, "self::$tabla"); // Recupera todas las filas ordenadas $datos["filas"] = \modelos\Modelo_SQL::table(self::$tabla)->select($clausulas); // Recupera todas las filas ordenadas $_SESSION["expositor_actual"] = \core\URL::actual(); $sql = "select count(*) as num_total_juegos from 3da2_articulos where " . $clausulas['where']; $datos["num_total_juegos"] = \modelos\Modelo_SQL::execute($sql); if ($next_grp >= $datos["num_total_juegos"][0]['num_total_juegos'] / self::$num_arts_por_pag) { $datos['mensaje'] = '<b>Entrada incorrecta</b>'; \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos); } //Mostramos los datos a modificar en formato europeo. Convertimos el formato de MySQL a europeo self::convertir_formato_mysql_a_ususario($datos['filas']); //var_dump($datos); if (isset($_REQUEST['ordenar_por']) && $_REQUEST['ordenar_por'] != null) { //Devolvemos el valor original en caso de hacer una ordenación para no afectar al atributo 'title' de la etiqueta 'input' de 'ordenar por' en la vista self::$num_arts_por_pag /= 2; } $datos['view_content'] = \core\Vista::generar(__FUNCTION__, $datos); $http_body = \core\Vista_Plantilla::generar('DEFAULT', $datos); \core\HTTP_Respuesta::enviar($http_body); }