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

   
Vista:

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

Publicado por santijavier (1 intervención) el 18/03/2015 20:56:43
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á
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<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.




a4r9jn
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