Foros del Web » Programando para Internet » PHP »

cancelar un for por ajax

Estas en el tema de cancelar un for por ajax en el foro de PHP en Foros del Web. Saludos.. tengo mi codigo en la pagina php inicio.php @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original for ( $i = 0 ; $i < 5000 ; ...
  #1 (permalink)  
Antiguo 27/09/2017, 15:02
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 630
Antigüedad: 13 años, 10 meses
Puntos: 53
cancelar un for por ajax

Saludos..

tengo mi codigo en la pagina php

inicio.php

Código PHP:
Ver original
  1. for($i=0;$i<5000;$i++){
  2.  
  3.  
  4. if(isset($_SESSION['valor'])&&$_SESSION['valor']==1){
  5. break;
  6. }
  7. echo "<script>";
  8. echo "if($("#txtParar ").val()==1){
  9. $.ajax({
  10. url:'parar.php',
  11. succes:{}
  12.  
  13. });
  14. }"
  15. echo "</script>";
  16.  
  17. echo $i."<br>";
  18. }

yen la pagina parar.php

Código PHP:
<?php
session_start
();
$_SESSION['valor']=1;
?>

mi intencion es que cuando el objeto dom txtParar cambie su valor a 1 este mande a llamar un ajax para cambiar la variable de session y asi detener el bucle.

el problema es que al realizar por primera vez el ajax , no termina y no llega al sucess, asi que una vez que entra al ciclo , se sigue llamado pero sin terminarde ejecutarse el ajax , lo que no realiza el cabio de valor en la variable de sesion..
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #2 (permalink)  
Antiguo 28/09/2017, 08:38
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 6 años, 5 meses
Puntos: 379
Respuesta: cancelar un for por ajax

Cita:
el problema es que al realizar por primera vez el ajax , no termina y no llega al sucess, asi que una vez que entra al ciclo , se sigue llamado pero sin terminarde ejecutarse el ajax , lo que no realiza el cabio de valor en la variable de sesion..
Ni lo va realizar, tu script sigue viendo la misma copia del valor que tenia la sesión. Recuerda que el protocolo http no es persistente, así que cuando haces la petición mediante ajax solo es valido para esa llamada y las siguiente. Tu script inicial nunca vuelve a consultar la sesión mediante una nueva petición así que nunca va a tomar el nuevo valor. En resumen, tienes que pensar en otra cosa para resolver el problema.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 28/09/2017, 09:50
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.055
Antigüedad: 13 años, 6 meses
Puntos: 50
Respuesta: cancelar un for por ajax

puede guardar la bandera en una tabla de la bd, en un json, o un archivo de texto... cada vez que entre al while verifica el valor de la bandera en el archivo... si cambio lo saca del for.

Saludos
  #4 (permalink)  
Antiguo 28/09/2017, 12:29
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 630
Antigüedad: 13 años, 10 meses
Puntos: 53
Respuesta: cancelar un for por ajax

Cita:
Iniciado por helacer Ver Mensaje
puede guardar la bandera en una tabla de la bd, en un json, o un archivo de texto... cada vez que entre al while verifica el valor de la bandera en el archivo... si cambio lo saca del for.

Saludos
Si eso pense, pero tendria que realizar una consulta y actualizacion en cada registro lo que me podria llevar a ucho procesamiento
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #5 (permalink)  
Antiguo 29/09/2017, 01:31
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 550
Antigüedad: 14 años
Puntos: 23
Respuesta: cancelar un for por ajax

Mi pregunta es, ¿Qué es lo que quieres lograr? Porque parece muy complicada tu solución pero seguramente existe otra solución.
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #6 (permalink)  
Antiguo 29/09/2017, 07:38
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 971
Antigüedad: 7 años, 1 mes
Puntos: 111
Respuesta: cancelar un for por ajax

Me sumo a los de arriba, puedes explicar que pretendes.

Algunos puntos a considerar

1. En tu código debes escapar las " dentro de " " es decir si tienes esto "Hola soy una " dentro de otra "" no funcionará tendrás que hacer esto "Hola soy una \" dentro de otra \""

2. Teóricamente te faltaría el session_start en inicio

3. No entiendo tu código porque usar un for, si se detendrá en el primer ciclo: si existe la sesion hará la detención (break), y si no, deseas parar con ajax, sea cual sea la posibilidad teoricamente tu for estaría terminando en el primer ciclo, en vez de break tendrías que usar continue ¿supongo?, no se que quieres hacer realmente...

Lo que se me ocurre es usar un recurso externo temporal como un archivo, o dato en una bd al mismo tiempo que asignas la nueva sesion, sin tomar en cuenta lo anterior del punto 3 podria ser algo así

inicio:

session_start();

for(0;5k;++){
if(file_exists("dir/session_temp_unique_id")){
@unlink("dir/session_temp_unique_id");
break;
}
//parar ajax
}

parar:

session_start();
fopen("dir/session_temp_unique_id","w");
$_SESSION['valor']=1;

Eso por mi parte, pero podrías especificar que quieres realmente.

Saludos
  #7 (permalink)  
Antiguo 29/09/2017, 13:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.975
Antigüedad: 11 años, 3 meses
Puntos: 2190
Respuesta: cancelar un for por ajax

No entiendo completamente, pero parece que no quieres esperar a que se actualicen todos los registros... no puedes usar una tarea programada?
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 29/09/2017, 16:15
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 971
Antigüedad: 7 años, 1 mes
Puntos: 111
Respuesta: cancelar un for por ajax

Sería bueno que explique que quiere hacer realmente y no hacer sugestiones.
  #9 (permalink)  
Antiguo 29/09/2017, 17:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.975
Antigüedad: 11 años, 3 meses
Puntos: 2190
Respuesta: cancelar un for por ajax

Sugestiones?... quizá confundiste y combinaste sugerencias con suposiciones.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 29/09/2017, 21:56
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 971
Antigüedad: 7 años, 1 mes
Puntos: 111
Respuesta: cancelar un for por ajax

Jajaja perdon error de palabra

Pd: perdon por desviar el tema

Etiquetas: ajax, cancelar, url, variable
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 07:35.