JavaScript - Como ordenar por columnas y como agregar boton

 
Vista:
Imágen de perfil de Ariel
Val: 22
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Como ordenar por columnas y como agregar boton

Publicado por Ariel (14 intervenciones) el 06/01/2020 15:08:38
Estimados, busco ayuda!!..

Yo trabajo en Laravel. Y tengo en mi controlador un orden que le dí pero ahora el usuario me pide que pueda ordenar segun el encabezado de la grilla.
Es decir, ordenar por IP o por Maquina o por Direccion

En mi controlador en laravel se vé así..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function index(Request $request)
{
 
    $dire = $request->get('dire');
    $oficina = $request->get('oficina');
    $maq = $request->get('maq');
 
    $ips = Ip::orderBy('id','DESC')
    ->dire($dire)
    ->oficina($oficina)
    ->maq($maq)
    ->paginate(10);
 
    return view('ips.index', compact('ips'));
}

Eso por un lado... Y por otro lado el usuario me pidió que ademas, la grilla pueda mostrarla según su necesidad, de a 50 registros o de a 100 registros.

Paso print de pantalla para que vean como se vé la grilla y lo que el usuario desea agregar.

Realmente estoy volviendome loco con esto. Si alguien me puede dar una mano, o guiarme por donde empezar, estaré muy agradecido

ips
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de José Manuel
Val: 33
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Como ordenar por columnas y como agregar boton

Publicado por José Manuel (11 intervenciones) el 14/01/2020 08:24:02
Hola:

Son varias cosas. Sobre ordenar:

- Puedes utilizar la cabeceras de las tablas para que al pulsar en ellas se recargue la página, enviando una por GET el nombre de la cabecera.

- Según la cabecera pulsada, tu controlador ahora deberá capturar una variable GET más, por ejemplo headcolumn. Algo como:
1
$cabecera = $request->get('headcolum');

- Ordenamos según el valor de cabecera que debera corresponder a un campo lógicamente:
1
$ips = Ip::orderBy($cabecera,'DESC')

Respecto a los botones para mostrar 50 o 100, pues es algo parecido:
- Añades los botones en la vista, que al ser pulsados envian una variable ¿paginacion? por GET, por ejemplo.

- Consumes la variable:
1
$paginacion= $request->get('paginacion');

- Paginas según su valor:
1
2
3
4
5
$ips = Ip::orderBy($cabecera,'DESC')
    ->dire($dire)
    ->oficina($oficina)
    ->maq($maq)
    ->paginate($paginacion);

Ojo, todo esto es una orientación. Tendrás obviamente que currártelo un poco por el tema de seguridad, conversión de tipos, adaptación a tu modelo de datos, etc. Espero que sea esto lo que buscas.

Otra cosa que no tiene nada que ver con la duda Ariel: esto que preguntas es Laravel o PHP como mínimo, no JavaScript

Cuéntanos. Un saludo,
https://obelearningservices.com/blog/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar