Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Problem z $.ajax
Forum PHP.pl > Forum > XML, AJAX
tadeurz
Piszę sobie grę via, mam pewien problem z mapką:
Na początku tworze sobie mapkę 10x15 z <div id="odpowiedni numer kafelka"> w PHP:
  1. <?PHP
  2. $x=0;
  3. $numer= 1;
  4. for($x;$x<10;$x++){
  5. $y=0;
  6. for($y;$y<15;$y++){
  7. echo'<div id="k'.$numer.'"></div>'; //tutaj sobie numeruje kafelki nadając im odpowiednie id od 1 do 150
  8. $numer++;
  9. }
  10. }
  11. ?>


  1. <script type="text/javascript">
  2. function Mapa(pozX,pozY) //piszę sobie funkcje Mapa która przeleci się po wszystkich kafelkach , nadając im odpowiednią klasę (dla odpowiedniego pola) pobraną z bazy
  3. danych. zmienne pozx pozy są nieistotne dla problemu pomagają one określić od kafelka z jakimi współrzędnymi zacząć rysować mapę
  4. {
  5. var numer = 1; //numer kafelka -> jak widać z kodu PHP wyżej id odpowiedniego diva
  6. var m = 0;
  7. for( m ; m<10 ; m++){
  8. var n = 0 ;
  9. for( n ;n < 15 ; n++){
  10. $.ajax({
  11. type: "POST",
  12. url: "kafelek.php",
  13. data: {x: (pozX+m), y: (pozY+n)},
  14. success: function(msg){
  15. $("#k"+numer).addClass(msg); // ta linie nie działa prawidłowo otóż nie dodaje klas.Problem polega na tym że nie widzi tutaj zmiennej numer, za każdym razem wykonuje to dla znacznika o id ="#k".Wiem to stąd że dopisałem sobie div o takim id i tam dodało mi klasę.Jak sprawdziłem sobie ten kod w Firefox to konsola błędów o dziwno nie wywaliła żadnych błędów, dlatego nie wiem co tu jest źle.
  16. }
  17. });
  18. numer++;
  19. }
  20. }
  21. }
  22. Mapa(1,1); //wykonanie funkcji mapa z zmiennymi 1,1

  1.  
  2. <?PHP
  3. //kafelek.php
  4. function Baza($zapytanie)
  5. {
  6. $link = @mysql_connect( "xxx", "xxx", "xxx" ) or die("Niiie masz uprawnien");
  7. mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
  8. mysql_select_db("xxx") or die ("ERROR Z SQL DB");
  9. $query = mysql_query ($zapytanie);
  10. mysql_close($link);
  11. return $query ;
  12. }
  13. $x= $_POST['x'];
  14. $y= $_POST['y'];
  15.  
  16. Baza("SELECT type FROM map WHERE (x='$x' AND y='$y')");
  17. $dane = mysql_fetch_assoc($query);
  18. echo 'typ_'.$dane['type'] ; //tutaj zwraca nazwę klasy która powinna być wstawiona do diva np: typ_ziemia, typ_pustynia,typ_morze
  19.  
  20. ?>
Athlan
1. spróbuj użyć $.post() (więcej na temat przekazywanych przez Ciebie parametrów w manualu jQ), w funkcji response mi zawsze widzi wszystkie zmienne.
2. spróbuj usunąć var sprzed deklaracji zmiennej.
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.