Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z php i ajax
Forum PHP.pl > Forum > PHP
matx132
Witam,
mam taki problem ze skrypt robi pętle (w php) w tej petli wykonuje się ajax,
I teraz zaczyna się mały problem bo zanim ajax zdąży się wykonać php leci z następnym okrążeniem pętli.

Czy idzie zrobić tak aby php czekał na wykonanie się ajax,a i dopiero wtedy kończył pętle i wykonał następne okrążenie w pętli??
erix
Weź to stąd, zanieś tam coś.

Tak można określić Twój opis problemu - za mało danych, pokaż kod.
kamil4u
Nie za bardzo wiemy jak wygląda Twój kod - podejrzewam, że dałoby się to zrobić lepiej, ale w ostateczności możesz użyć funkcji sleep
matx132
  1. for($i=0;$i<=count($linki)-1;$i++)
  2. {
  3. $ile=scandir("images");
  4. $ile=count($ile);
  5. $txt=fopen("images/".$ile.".gif","w");
  6. fwrite($txt,$imgs);
  7. fclose($txt);
  8. $linki[$i]=str_replace("\r","",$linki[$i]);
  9. echo "<script>var mer=\"$mer\";
  10. var cap=\"$capt\";
  11. var linkis=\"$linki[$i]\";
  12. var ile=$ile;
  13. start('http://127.0.0.1/images/$ile.gif');
  14. </script>";
  15. }


skrypt javascript odczytuje kod z obrazka(jest on za duży aby go tutaj wstawić

i zanim wykona się funkcja start i inne to php idzie już następna kolejkę w pętli tak ze javascript nie zdążył się wykonać cały
Fifi209
Słuchaj no... php wysyła wynik działania skryptu do użytkownika (w tym wypadku kod javascript) i po stronie użytkownika kod javascript jest wykonywany.

Rozumiesz?
matx132
Cytat(fifi209 @ 21.08.2009, 14:50:55 ) *
Słuchaj no... php wysyła wynik działania skryptu do użytkownika (w tym wypadku kod javascript) i po stronie użytkownika kod javascript jest wykonywany.

Rozumiesz?


ja wiem co ten skrypt robi i ze php wysyla dane do JS.
I nie musisz mi tego tlumaczyc(nie nabijaj sobie postow ....)
Ja sie pytam czy idzie zrobic tak aby php wykonal sie PO javascript lub zrobic tak aby najpierw petla w php sie wykonala a potem javascript tyle samo razy
erix
Nie nabija, tylko podążą za Twoim myśleniem. Przynajmniej wg tego kodu.

A jeśli chcesz, żeby robiło tak, jak zamierzyłeś, to musisz przerywać żądanie i wykonać NOWE wg parametrów przekazanych przez przeglądarkę.
matx132
to może inaczej teraz się spytam,
jak zrobić aby w AJAX'sie wykonał się pierwsze zadanie i po skończeniu wysyłał dopiero następne, bo teraz wysyła oba i pierwsze ucina
erix
Nie rób tego w pętli, przede wszystkim... Najpierw zaczynaj od wysłania skryptu, dopiero potem - jeśli są jakieś dane w żądaniu - wykonuj co trzeba.
matx132
w ajaxie i tak muszę to zrobić:)
ale zrobilem tak ze php najpierw sie wykonuje potem dopiero JS:)
juz wszystko mi dziala i zrobilem sobie to nareszcie:)
Fifi209
Jeżeli najpierw jedno ma się wykonać a potem drugie to może warto zainteresować się callbackami ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.