Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [advajax] kolejne wiadomości niezależe od siebie
nitro18
post 19.05.2007, 06:46:02
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


Chodzi mi o efekt czegoś takiego.

mam plik polecenia.php
  1. <?
  2.  
  3. //zapis do bazy
  4.  
  5. if($zapisano){echo 'ok'; else 'no';
  6.  
  7. //zapis2 do bazy
  8.  
  9. if($zapisano){echo 'ok1' else 'no1';
  10.  
  11. ?>



i teraz mam plik ajax.php

kiedy zapisano do bazy, wtedy za pomocą ajax wyświetlam komunikat pierwszy,
kiedy zostanie następny zapisany do bazy drugie, za pomocą ajax wyświetlam pod spodem drugi komunikat...

ma ktoś jakiś pomysł?
Z góry dziękuję smile.gif
Pozdrawiam
Go to the top of the page
+Quote Post
chaos_code
post 19.05.2007, 17:02:23
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.05.2007

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


Niestety nie wiem o co Ci konkretnie chodzi. Może pomogłoby gdybyś powiedział po co to chcesz zrobić.
Kolejne zapisywane do bazy informacje są całkowicie niezależne?
A może zapisywane są do tej samej tabeli?
Tabela jest na starcie pusta i chcesz odpowiedzieć jednym komunikatem na wpisanie do niej pierwszego elementu, a drugim komunikatem na wpisywanie kolejnych?
Inaczej?

Więcej szczegółów poproszę. winksmiley.jpg
Go to the top of the page
+Quote Post
nitro18
post 19.05.2007, 18:19:58
Post #3





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


no to inaczej...

widziałem coś takiego podczas instalacji moodle'a.
Kiedy dodawał informacje do tabel, to bez odświeżenia strony pokazywał że dodał do tabeli x, a gdy dodał do tabeli y, to wyświetlał komunikat że dodał do tabeli y, itd....

czyli chodzi mi głownie oto że gdy zostanie spełnione jakieś polecenie to wyświetlony zostaje komunikat, następnie parser php leci dalej i gdy zostanie spełnione kolejne to wyświetla kolejny komunikat...


pewnie znowu coś namieszałem sad.gif

to powiedzcie jak mam zrobić żeby po pierwszym komunikacie zatrzymać na chwilę i wyświetlić kolejny tekst bo sleep nie działa sad.gif

  1. <?
  2. echo 'jeden';
  3. sleep(5);
  4. echo 'dwa';
  5. ?>
Go to the top of the page
+Quote Post
chaos_code
post 19.05.2007, 19:23:10
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.05.2007

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


Może taki przykład działania advAjaxa-a

plik glowny:
  1. <title>....</title>
  2. <script language="JavaScript" type="text/javascript" src="advajax.js"></script>
  3.  
  4. function save()
  5. {
  6. advAJAX.submit(document.getElementById("form"), {
  7. onSuccess : function(obj) { alert(obj.responseText); document.getElementById("pom").innerHTML = "Zmieniony tekst"; },
  8. onError : function(obj) { alert("Error: " + obj.status); }
  9. }); // zamiast alerta można zrobić jakieś przepisanie do div ( poprzez innerHTML), żeby lepiej wyglądało; zresztą już dodałem
  10. }
  11. </script>
  12. </head>
  13. <form action="pomocniczy.php" method="post" id="form"> <br/>
  14. Dla testu wpisać :0 lub 1 -> <input id="" name="e1" /> <br/>
  15. <input type="submit" value="zapisz(standard)" name="e10" />
  16. </form>
  17. <input type="submit" onclick="save();" value="zapisz(advAjax)" name="e110" />
  18. </body>
  19. </html>



plik pomocniczy: pomocniczy.php
  1. <?php
  2. if ( $_POST['e1']) echo "Wpisałeś jedynkę? - może. Ale na pewno nie wpisałeś zera. ;) ";
  3. else
  4. echo "Wpisałeś zero"
  5. ?>

- bez ukośników

Może coś pomoże.
Oczywiście zamiast prostego IF-a sprawdzającego przekazywany element formularza należałoby zastosować zapytanie do bazy czy konkretnej tabeli sprawdzające czy coś już tam jest.

Lub tylko zapisać coś (dane z formularza) do bazy i zwrócić info, że się udało. smile.gif

Co do odstępu czasu, to można to zrobić np w javascript, timeDelay, albo coś podobnego, dokładnie nie pamiętam, a w php, to nie wiem.
Go to the top of the page
+Quote Post
nitro18
post 20.05.2007, 18:35:35
Post #5





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


no to jeszcze inaczej. Mam div

<div id="iden">

i teraz robie tak...
pojawia się pierwszy tekst, skrypt zatrzymuje się tutaj na chwilę (powiedzmy 5 sek.),
następnie do diva jest przekazywany drugi tekst (znowu na 5 sek. albo 6)

Czy da sie jakoś to napisać?
Go to the top of the page
+Quote Post
chaos_code
post 20.05.2007, 20:27:32
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.05.2007

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


Na przykład tak:
  1. function cos2()
  2. {
  3. document.getElementById("ala").innerHTML = '1111111111111111111111111111';
  4. }
  5. function cos3()
  6. {
  7. document.getElementById("ala").innerHTML = '22222222222222222222222222222';
  8. }
  9. function cos()
  10. {
  11.  
  12. setTimeout('cos2()',1000);
  13. setTimeout('cos3()',2000);
  14. }
  15.  
  16. <body onload='cos()'>
  17. <div id='ala'>tekst</div>
  18. </body>
  19. </html>


...choć można zdecydowanie ładniej. winksmiley.jpg
Go to the top of the page
+Quote Post
nitro18
post 21.05.2007, 11:16:54
Post #7





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


ooo... i oto mi właśnie chodziło smile.gif dzięki smile.gif
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: 27.06.2025 - 07:14