PHP - llamar a funcion jquery o ajax desde php

   
Vista:

llamar a funcion jquery o ajax desde php

Publicado por Sergio (25 intervenciones) el 20/12/2014 01:22:14
Buenas noches! Necesito ejecutar una funcion en segundo plano de php, para que no se corte necesitaria que al terminar el proceso llame a una funcion ajax para que vuelva el proceso a ejecutarse... es posible llamar a una funcion ajax luego de ejecutar el script php

Es decir tengo esto:

1
2
3
4
5
6
7
8
9
10
11
12
$conexion=mysqli_connect("localhost","root","","correo")or die("Error al conectar con la base de datos");
		$registros=mysqli_query($conexion,"select * from datos where estado='0'")or die(mysqli_error($conexion));
		if($reg=mysqli_fetch_array($registros)){
			echo $reg['email']." ";
			$registro=mysqli_query($conexion,"update datos set estado='1' where email='$reg[email]'")or die(mysqli_error($conexion));
 
                       //aqui puse una funcion javascript para que vuelva a llamar pero se queda cargando la pagina y no actua en segundo plano... quiero llamar a una funcion ajax
 
			echo "<script>window.location='http://localhost/correo/procesar.php'</script>";
		}else{
			echo "no existen registros";
		}

Muchas gracias!!
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

llamar a funcion jquery o ajax desde php

Publicado por Ismael (41 intervenciones) el 21/12/2014 11:50:32
Hola, no se si lo he entendido bien.
Quieres que una página vaya llamando a una función php cada x tiempo en segundo plano?
Si ese es el caso, con AJAX lo puedes hacer, pero no bien bien como lo estás llamando tu.

en la página, en el javascript del head llamas al proceso php así por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var myVar;
myVar = setInterval(SegundoPlano, 3000); //periodicidad al que se va a llamar la función de segundo plano
 
 
function SegundoPlano() {
    var ajax=nuevoAjax(); //Crea el objeto AJAX que tendremos que tener en una función
  ajax.open("GET","llama_script_segundoPlano.php", true);
 ajax.onreadystatechange=function(){
  if (ajax.readyState==4 && ajax.status==200){
   eval(ajax.responseText); //le ponemos eval, porque según lo que comentas quieres que el script php cuando termine
                                                //llame a una función JavaScript
  }
 }
 ajax.send(null);
}
 
function llamada_desde_PHP(){
}

en el script php en este ejemplo, llama_script_segundoPlano.php:
lo único que tendrías que cambiar del código que has puesto del script es la parte de los echo, ya que va a devolver código javaScript que va a evaluar cuando sea devuelto el navegador dentro del AJAX

1
2
3
4
5
6
7
8
9
10
11
12
$conexion=mysqli_connect("localhost","root","","correo")or die("Error al conectar con la base de datos");
		$registros=mysqli_query($conexion,"select * from datos where estado='0'")or die(mysqli_error($conexion));
		if($reg=mysqli_fetch_array($registros)){
			echo $reg['email']." ";
			$registro=mysqli_query($conexion,"update datos set estado='1' where email='$reg[email]'")or die(mysqli_error($conexion));
 
                       //aqui puse una funcion javascript para que vuelva a llamar pero se queda cargando la pagina y no actua en segundo plano... quiero llamar a una funcion ajax
 
			echo "llamada_desde_PHP();"; //llamará a la función JavaScript del ejemplo
		}else{
			//si no hay resultados o no devuelves nada o tendrá que llamar a otra función que tu veas.
		}


Espero haberte ayudado en algo
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