Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]przekazanie zmiennych do roznych divID
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam mam pytanie z cyklu jak to zrobić...

mam tabelkę

klient / towar/ilosc na magazynie / cena /

i w php cos takiego (pokazuje tylko obrazowo zebyscie zrozumieli o co mi chodzi) :

  1. <select name="towary" onchange="wyswietl();">
  2.  
  3. $zapytanie="select towar from towary";
  4. while..
  5. {
  6. echo '<option>'.$towar.'</option>
  7. }
  8. </select>
  9.  
  10. <input name=klient/>
  11. <input name=cena/>
  12. <input name=ilosc/>
  13. <input name=brutto/>
  14.  


i teraz musze pobrac wszystko o danym towarze no to:

  1. var url="wyswietl.php";
  2. url=url+"?a="+a;
  3. var divID = document.getElementById('div');
  4. XMLHttpRequestObject.open("GET", url);
  5. XMLHttpRequestObject.onreadystatechange = function ()
  6. {
  7. if (XMLHttpRequestObject.readyState == 4)
  8. {
  9. divID.innerHTML = XMLHttpRequestObject.responseText;
  10. }


no i w wyswietl musze wybrać wszystko z towaru i zwrócić, no i właśnie jak pobrać każdą wartość do odpowiedniego inputa, czyli uzupełnić cenę, klienta itd? przecież chyba nie tworzyć 4 różnych zapytan Ajaxowych? Czy tu już będzie potrzebny xml lub json?

Wiem że można zrobić to samym PHP ale ja chcę się nauczyć zbierać te dane za pomocą ajax:) Dziękuję.
mortus
Najlepszym wyjściem w takiej sytuacji wydaje się być json lub xml, ponieważ dane można przedstawić w przyjaznym formacie. Oczywiście wyswietl.php może nam również zwrócić odpowiednio sformatowany tekst, z którego za pomocą JavaScript możemy te dane odpowiednio "wyłuskać". Dla przykładu wyswietl.php
  1. echo 'klient, cena, brutto';
[JAVASCRIPT] pobierz, plaintext
  1. var responseData = XMLHttpRequestObject.responseText;
  2. var data = responseData.split(', ');
[JAVASCRIPT] pobierz, plaintext
Wtedy zmienna data jest tablicą, w której znajdują się poszczególne informacje. Taki sam efekt możemy uzyskać zwracając dane w formacie json. Będzie to nawet bardziej korzystne, ponieważ odpowiednie indexy w tablicy data będziemy mogli zastąpić kluczami słownymi (oczywiście w powyższym przykładzie również można to zrobić, ale wymaga to większego zaangażowania JavaScript). Później wstawiając odpowiednie dane do pola input nie będziemy się musieli zastanawiać, czy cena jest w data[0], czy może w data[3], a użyjemy po prostu data["cena"]. Ogólnie rzecz biorąc dane zwrócone jako odpowiednio sformatowany tekst możemy w JavaScript "przerobić" do czytelnej postaci, tylko po co, skoro to samo możemy osiągnąć zwracając dane jako obiekt json lub xml.
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.