Foros del Web » Programando para Internet » Jquery »

$.ajax actualizar todos los div haciendo una consulta a la DB

Estas en el tema de $.ajax actualizar todos los div haciendo una consulta a la DB en el foro de Jquery en Foros del Web. Hola, tengo un problema que no puedo solucionar, resulta que tengo que hacer un sistema de toma de turnos donde las personas ven el turno ...
  #1 (permalink)  
Antiguo 18/03/2015, 09:18
 
Fecha de Ingreso: marzo-2015
Mensajes: 1
Antigüedad: 9 años, 1 mes
Puntos: 0
$.ajax actualizar todos los div haciendo una consulta a la DB

Hola, tengo un problema que no puedo solucionar, resulta que tengo que hacer un sistema de toma de turnos donde las personas ven el turno que desean y le da "ok" al formulario y si tomó un turno TODOS los turnos disponibles se tienen que actualizar y mostrar los cupos disponibles haciendo una consulta a la base de datos. osea se tiene que actualizar el cupo de diferentes divs con distinto id,
los cuales los creo mediante un bucle dependiendo de los requerimiento del cliente. Lo tengo que hacer con $.ajax, y no con setInterval ya que son muchas personas las que toman los turnos y saturarían el servidor.

(hay que tener en cuenta que varias personas van a tomar turnos a la misma hora por lo cual los cupos van a ir cambiando de los diferentes divs)

ejemplo:

<div id='cupos_1'> Mostrar Cupos </div>
div id='turno_1'> Formulario </div>

<div id='cupos_2'> Mostrar Cupos </div>
div id='turno_2'> Formulario </div>

<div id='cupos_3'> Mostrar Cupos </div>
div id='turno_3'> Formulario </div>

<div id='cupos_4'> Mostrar Cupos </div>
div id='turno_4'> Formulario </div>

<div id='cupos_5'> Mostrar Cupos </div>
div id='turno_5'> Formulario </div>

etc.....


la página realiza la toma de turnos solo si recargo la pag. pero con jquery no, este es el codigo que tengo...

//tomo el turno desde acá
Código:
<script type="text/javascript">
	var id;

	function hacer_click_tomar_turno(i)
	    {
	    	id = i;
	    	$(document).ready(function(){
		
					$.ajax({
						type: "POST",
						url: 'controladores/ctrl_all_tomar_turno2.php',
						data: $("#frm_tomar_turno"+id).serialize(),
							success: function(data) {
								$('#result-cupos'+id).fadeOut("fast");
								//$('#frm_soltar_turno'+id).fadeOut("fast");//antiguo
								//$('#result_tomar_turno'+id).html(data);//antiguo

								$('#frm_tomar_turno'+id).fadeOut("fast");//antiguo
								
								//$('#frm_soltar_turno'+id).fadeIn("fast");//antiguo
								$('#result-cupos'+id).fadeIn("fast");
								// mostrar cupos
								$('#result-cupos'+id).html(data);
							}
					});

			});	 
	    	actualizar_cupos();

	    }

// aca con esta función debería actualizar todos los cupos de los diferentes div con distinto id -->> ACÁ ESTA EL PROBLEMA!

function actualizar_cupos(){
	$(document).ready(function(){

			for (var i = <?php echo $iniTur; ?>; i <= <?php echo $finTur; ?>; i++) {
				//$('#ocultar'+i).text('Turno'+i);//aca me muestra en cada div el id del div
				//$('#frm_tomar_turno'+i).click(function(){//con este al tomar el turno me actualiza el cupos solo de ese div
			
					$.ajax({
						type: "POST",
						url: 'controladores/ctrl_all_tomar_turno3.php',
						data: $('#frm_tomar_turno'+i).serialize(),
						success: function(data) {
								$('#ocultar'+i).html(data);
							}
					});

				//alert (i);
				//});
			};
		});
}	

</script>
Necesito modificar el código de arriba ya que los archivos de php si funcionan, 100% probados.

Ayudenme xfa , alguna idea, sugerencia, algo ? ..

solo me falta mostrar todos los cupos y acabaría la pag :(

Saludos.

  #2 (permalink)  
Antiguo 19/03/2015, 06:33
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: $.ajax actualizar todos los div haciendo una consulta a la DB

Te entiendo por partes, vos lo que necesitas es que se actualicen todos los turno no solo donde esta parado el usuario?
Otra cosa podes pasar el codigo html que refiere a la imagen , asi se nos hace mas facil poder ayudarte

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:43.