Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ajax]
GreenGo
post
Post #1





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

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


Witam.
W jaki sposób w ajaxie zrobić aby po naciśnięciu danego przycisku wysyłało się zapytanie do bazy danych i potem wykonało się kolejne zapytanie i wyświetlił się komunikat "dziękujemy" ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Tworzysz diva, który pokażesz po tym kliknięciu, możesz też do niego wczytać wynik działania ajaxa. Div domyślnie ukryty.
  1. <?php
  2. <div id="pokaze_go_po_kliknieciu" style="display: none;"></div>
  3. <div id="inputy">
  4. <input type="hidden" id="ip" value="'.$_SERVER['REMOTE_ADDR'].'">
  5. <input type="hidden" id="id" value="'.$_POST['myname'].'">
  6. <button onclick="SendRequest()">Głosuj</button>
  7. ?>

</div>
Nie wiem jak AdvAjax pobiera wynik zapytania, ale pewnie coś w stylu:
  1. onSuccess : function(obj) { var wynik_ajaxa = obj.responseText; }


Zwrócisz działanie pliku php przez zwykłe echo. Czyli w pliku php robisz te zapytania, i w zależności od wyniku zwracasz jakiś kod np: Pomyślnie pierwsze zapytanie to robisz echo 1, pomyślnie drugie zapytanie: echo 2, liczba zwróconych wyników większa od dwóch, to zwracasz 3.

Teraz w javascript pobierasz to co zwrócił skrypt php i w zależności od wyniku robisz jakąś akcję.

  1. function SendRequest() {
  2. document.getElementById('pokaze_go_po_kliknieciu').style.visibility = "visible";
  3. document.getElementById('inputy').style.visibility = "hidden";
  4. var req = mint.Request();
  5. req.AddParam("ip", $("ip").value);
  6. req.AddParam("id", $("id").value);
  7. req.Send("zap.php", "response");
  8. // tutaj odbierasz wynik zapytania i zapisujesz do np var wynik_ajaxa
  9. // robisz sobie switch, albo if, czy tablice, cokolwiek, np:
  10. if (wynik_ajaxa==3){
  11. document.getElementById('pokaze_go_po_kliknieciu').innerHTML = 'Pomyślnie zakończono zapytanie';
  12. }
  13. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 12:21