Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP] Wyświetlanie w pętli w czasie rzeczywistym
mailtek
post 22.08.2010, 22:44:27
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Witam,

chciałbym aby tekst w pętli foreach był wyświetlanie w czasie jej wykonywania a nie po zakończeniu całej pętli. Wiem, ze jest to możliwe jednak doszedłem do tego że należy użyć js'a a ja nie mam zielonego pojęcia co i jak. próbowałem document.write ale nie działa(wyświetla jeden wynik z pętli).

Go to the top of the page
+Quote Post
flashdev
post 22.08.2010, 22:51:14
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Możesz to zrobić w samym php przy użyciu funkcji flush()
Jeżeli chcesz dodatkowo użyć js`a (ajax?), no to już na pewno nie będzie to pętla foreach w php tylko for w javascript, a o poszczególne wyniki odpytywałbyś wtedy serwer ajax`em.


--------------------
Go to the top of the page
+Quote Post
bastard13
post 22.08.2010, 22:51:26
Post #3





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Skoro myślisz o użyciu foreach to zakładam, że tekst ma być w talibcy.
W js nie ma foreach, ale możesz użyć for in
Może coś takiego
  1. function moja_funkcja(tablica_z_tekstem)
  2. { zmienna='';
  3. tu_umieszczam_tekst=document.getElementById('id_elementu');
  4. for(i in tablica_z_tekstem)
  5. { zmienna+=tablica_z_tekstem[i];
  6. tu_umieszczam_tekst.innerHTML=zmienna;
  7. }
  8. }

Funkcja dodaje kolejne wiersze z tabeli do zmiennej, a następnie wypisuje je w danym elemencie.


--------------------
Go to the top of the page
+Quote Post
mailtek
post 22.08.2010, 23:24:08
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Odpada pelta w js. Flush też nie działa. Zwykłe wyświetlanie w js by nie było najlepsze?
Go to the top of the page
+Quote Post
flashdev
post 22.08.2010, 23:37:53
Post #5





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(mailtek @ 23.08.2010, 00:24:08 ) *
Odpada pelta w js. Flush też nie działa. Zwykłe wyświetlanie w js by nie było najlepsze?


byłoby (skoro wiesz jak, to zrób bo nie wiem o co Ci chodzi)


--------------------
Go to the top of the page
+Quote Post
mailtek
post 22.08.2010, 23:42:11
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


no więc próbowalem tak:
  1. foreach($key as $value)
  2. {
  3.  
  4. $ah = explode(":", $value);
  5. echo '
  6. <script type="text/javascript">
  7. document.write("'.$ah[1].'")
  8. </script>
  9. ';
  10. }

Ale to wyświetla tylko 1 wynik
Go to the top of the page
+Quote Post
flashdev
post 23.08.2010, 00:03:39
Post #7





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(mailtek @ 23.08.2010, 00:42:11 ) *



  1. foreach($key as $value)
  2. {
  3.  
  4. $ah = explode(":", $value);
  5. echo '
  6. <script type="text/javascript">
  7. document.write("'.$ah[1].'")
  8. </script>
  9. ';
  10. flush(); // to dodalem, powinno zadzialac
  11. }



--------------------
Go to the top of the page
+Quote Post
mailtek
post 23.08.2010, 00:15:56
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Teraz niby działa bo wyświetla jedną linijkę tylko na samym dole a w źródle jest wszystko ; O
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 23:26