Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyciąganie bazy bez odświeżania
Forum PHP.pl > Forum > PHP
wezyrno
robię silnik gry 2d, załóżmy, że mam npc na mapie...
chce by po kliknięciu na niego wyskakiwało okienko z danym tekstem (z bazy mysql)

jak to zrobić?
askone
Jedno słówko: ajax

ps. Jeśli z takim zasobem wiedzy rzucasz się na robienie silnika gry.... to powodzenia życzę wink.gif

Pozdrawiam
wezyrno
wiem co to jest ajax i używam
nie wiem tylko jak konkretnie wywołać te zapytanie w okienku pojawiającym się w js
Uriziel01
Nie wywołasz w JS zapytania MySQL, musisz wywołać skrypt w php który zwróci ci wynik takiego zapytania.
bigZbig
Najprościej tak
  1. <a href="#" onclick="wczytaj('../ajax/okno_ajax.php'); return false;">wczytaj</a>
wezyrno
Ten skrypt wyżej, działa. Wszystko jest pięknie, podchodze do npc na mapie i pojawia się okienko z kodem. Gdy odejde to znika. Tylko, ze nie wiem czy znika też te ze zapytanie url: "../ajax/okno_ajax.php" czy tylko okienko graficznie...
Uriziel01
Nie wiem co znaczy `znika zapytanie` ale odpowiedź brzmi, gdy pierwszy if zwróci false, nie wysyłane jest zapytanie ajax. Drugą sprawą jest że nie powinieneś zagnieżdżać tak kodu js w HTML'u, jest to raczej archaiczna technika. Znacznie lepiej zrobić to na eventach w samym skrypcie JS używając dodatkowo jakiejś biblioteki typu jQuery czy MooTools.
Umożliwia to tworzenie czytelnych konstukcji, dodatkowo zapewnia lepsza kontrole nad tym co się w tym kodzie dzieje:
  1. $("#id_elementu").click(function (event) {
  2. event.preventDefault();
  3. $.ajax({
  4. type: "GET",
  5. url: "../ajax/okno_ajax.php",
  6. success: function(html) {
  7. },
  8. beforeSend: function() {
  9. },
  10. error: function() {
  11. }
  12. });
  13. });
  14.  
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.