PHP - Necesito actualizar un select en php sin refrescar la pagina

 
Vista:
sin imagen de perfil
Val: 37
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Necesito actualizar un select en php sin refrescar la pagina

Publicado por Juan (32 intervenciones) el 21/05/2019 00:00:55
Chicos, busco de nuevo sabiduría en stack overflow...

Resulta que tengo un formulario de creación de cursos, en donde el usuario tiene la posibilidad de agregar uno o mas relatores desde un select, y si en este select no aparece el relator que quiere, o desea agregar uno nuevo, puse un botón que muestra un modal, y en este doy la posibilidad de agregar el relator a la BD,


foto1


foto2

El detalle esta en que, si bien no tiene problemas para guardar en la BD, el nuevo relator no se muestra de inmediato en el select, y hay que actualizar el sitio (F5) para que cargue el select con el nuevo relator agregado,

¿Como puedo solucionar este detalle?, había pensado en agregar un botón de actualizar en el select, pero no se como y si sera realmente eficiente...
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Necesito actualizar un select en php sin refrescar la pagina

Publicado por Kathyu (905 intervenciones) el 21/05/2019 00:42:10
Acá no es stack overflow pero ideas no faltaran.

Supongo que si hace la consulta en el OnChange del select puede llegar a lo que desea. Solo JS es lo que creo puede solventar.

Seria que busque como funciona ese evento.
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Necesito actualizar un select en php sin refrescar la pagina

Publicado por Mauro (1036 intervenciones) el 21/05/2019 15:25:14
Hay dos aspectos que debes coordinar aquí:

1. Agregar el nuevo relator a la base de datos (Para que este y otros usuarios lo puedan tener). Esa parte entiendo que la tienes hecha, pero por las dudas, lo podrías hacer perfectamente combinando ajax con algún pequeño servicio web RESTful
2. Una vez que el backend esté resuelto, necesitas agregar el nuevo elemento a tu select. Eso lo puedes hacer vía js.

Asumiendo que tengas jQuery puedes hacer algo como:

1
2
3
4
5
6
7
8
9
$('#guardaRelator').click( function() {
   $.post(
         'guardarRelator.php', // URL al servicio web
         { ... },  // Parametros para la llamada Ajax
         function( data ) {
            $('#selectRelator').append('<option value=" ' + data.id + ' ">" + data.nombre + "</option>');
         }
 );
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar