Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Consulta Mysql desde Javascript (¿con Ajax?)

Estas en el tema de Consulta Mysql desde Javascript (¿con Ajax?) en el foro de Jquery en Foros del Web. Hola a todos. Quería saber cómo puedo hacer una consulta Mysql a una hora concreta con un reloj en Javascript que me ayudaron a hacer ...
  #1 (permalink)  
Antiguo 21/09/2017, 08:19
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Consulta Mysql desde Javascript (¿con Ajax?)

Hola a todos.

Quería saber cómo puedo hacer una consulta Mysql a una hora concreta con un reloj en Javascript que me ayudaron a hacer precisamente en este foro. Tengo entendido que hay que usar Ajax, pero he intentado incluir la parte de Ajax dentro del if de la hora que deseo, y todo deja de funcionar (el reloj y la consulta). ¿Alguna ayuda?

Muchas gracias por adelantado.

Código Javascript:
Ver original
  1. function clock(id){ //El parametro id es donde se escribirá la hora
  2.  
  3. var seeTime = "2017-09-21 00:43:30"; //fecha y hora de gatillamiento de evento
  4. var clock = document.getElementById(id); //Asignamos una variable al elemento del documento donde escribiremos la hora
  5.  
  6. var Digital=new Date(); //Creamos el objeto Date para obtener la fecha completa
  7. var h = Digital.getHours(); //hora
  8. var m = Digital.getMinutes(); //mins
  9. var s = Digital.getSeconds(); //segs
  10. var year = Digital.getFullYear(); //año
  11. var month = Digital.getMonth()+1; //mes, +1 ya que este metodo da de 0-11 en vez de 1-12
  12. var day = Digital.getDate(); //dia
  13.  
  14.  
  15. //Agregamos los 0 si son menores a 10
  16. if(month < 10){ month = "0"+month; }
  17. if(day < 10){ day = "0"+day; }
  18. if(h < 10){ h = "0"+h; }
  19. if(m < 10){ m = "0"+m; }
  20. if(s < 10){ s = "0"+s; }
  21.  
  22. var myTime = year+"-"+month+"-"+day+" "+h+":"+m+":"+s; //Esta variable es para obtener la fecha completa en formato "YYYY-mm-dd HH:mm:ss" PARA GATILLAR EVENTO
  23.  
  24. h = parseInt(h); //Volvemos a hacer numerico la hora, ya que concatenmos arriba
  25. var hs = "PM"; //Damos la premisa que es PM. "hs" de hour system
  26. if(h > 12){ //Si la hora es mayor que 12....
  27. h -= 12; //Quitamos 12 horas de modo que las 16hr es 16-12=4
  28. }
  29. else{ //De no ser así dejamos tal cual y decimos que es AM
  30. hs = "AM";
  31. }
  32.  
  33. var showTime = h+":"+m+":"+s+" "+hs; //Obtenemos la hora a mostrar "HH:mm:ss AM/PM"
  34. clock.innerHTML = showTime; //Escribimos hora
  35.  
  36.     if(myUnixTime(myTime) == myUnixTime(seeTime)){ //Si myTime == seeTime gatillamos evento
  37.     //Gatillamos evento
  38.    
  39.     document.getElementById('liveclock').innerHTML = "Hello World!";
  40.        
  41.     }
  42. }
  43.  
  44.  
  45. function myUnixTime(d){ //Esta funcion obtiene los segundos de una fecha dada en formato "YYYY-mm-dd HH:mm:ss" en este caso la fecha es el parametro "d"
  46. var mArr = [31,28,31,30,31,30,31,31,30,31,30,31]; //Cantidad dias de c/mes
  47.  
  48. var spl = d.split(" "); //Separamos la fecha de la hora spl[0] = fecha, spl[1] = hora
  49. var date = spl[0].split("-"); //Separamos los datos de la fecha date[0] = año, date[1] = mes, date[2] = dia
  50.  
  51. // Es necesario usar parseInt() para obtener el valor numerico de los datos
  52. var y = parseInt(date[0])*365*24*60*60; //Agregamos los segundos que tiene un año
  53. var m = parseInt(date[1]); //Obtenemos el mes, lo usaremos luego
  54. var d = parseInt(date[2])*24*60*60; //Obtenemos los segundos de un dia
  55.  
  56. //Aqui lo que haremos es sumar la cantidad de dias de los meses que han pasado
  57. var mAdd = 0; //Los dias se agregaran en esta variable
  58. for(var k=0;k<m;k++){ //Partimos desde el indice 0 de mArr (cantidad dias/mes) hasta el mes en el que estamos
  59. mAdd += mArr[k]; //Agregamos a mAdd la cantidad de dias de dias del mes con indice k
  60. }
  61.  
  62. m = mAdd*24*60*60; //Obtenemos la cantidad de segundos del total de meses transcurridos
  63.  
  64. var time = spl[1].split(":"); //Separamos los datos de la hora time[0] = hora, time[1] = mins, time[2] = seg
  65.  
  66. var h = parseInt(time[0])*60*60; //Agregamos segundos en 1 hora
  67. var m = parseInt(time[1])*60; //Agregamos segundos en 1 min
  68. var s = parseInt(time[2]); //...
  69.  
  70. return y+m+d+h+m+s; //retornamos la suma de todos los segundos obtenidos
  71. }
  72.  
  73. window.onload=function(){ //Cuando la ventana cargue...
  74. setInterval("clock('liveclock')",1000); //Creamos un intervalo de 1000ms a la funcion myClock, ms= mili segundos, 1000ms = 1s
  75. };

La parte de Ajax que he intentado colocar en Javascript, concretamente entre las líneas 36 a 39, es esta:

Código XML:
Ver original
  1. <script type="text/javascript">
  2.          $(document).ready(function() {  
  3.          function update(){
  4.          var current = $('#contenedor').text();
  5.  
  6.          $.ajax({
  7.           type: "POST",
  8.           url: "consulta.php",
  9.           dataType: "json",
  10.           success: function(response) {
  11.           $('#contenedor').text(response);
  12.          }
  13.          });
  14.         }
  15.  
  16.        setInterval(update, 1000);
  17.      });
  18.     </script>

Última edición por Musiker; 21/09/2017 a las 08:28 Razón: No legible
  #2 (permalink)  
Antiguo 21/09/2017, 19:01
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Consulta Mysql desde Javascript (¿con Ajax?)

Yo no tengo idea de jquery asique no se si es un error de el mismo

Crea la funcion por fuera y llamas en el if

function update(){
//el ajax
}

Y en el if

If(time1 == time2){
update();
}


Disculpa si fue muy burdo es que estoy en mi cel. Jajaja

Etiquetas: ajax, javascript
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 04:10.