Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Przekazywanie zmiennych pomiędzy php, a ajax
Forum PHP.pl > Forum > Przedszkole
cent4
Mam plik php, do którego odnosi się plik html z funkcj± ajax.
  1. ...
  2. if (isset($_GET['opcje'])){
  3. $result = mysql_query("SELECT id, Nazwa FROM typy_med");
  4. //$count = mysql_num_rows($result);
  5. $numer= $_GET['opcje'];
  6. $wynik = mysql_query("SELECT id, Med FROM typy_med WHERE id='$numer'") or die("Błąd w zapytaniu!");
  7. while($rek = mysql_fetch_array($wynik)) {
  8. $med="$rek[Med]";
  9. echo "$med";
  10. }
  11. }
  12.  
  13.  
  14. if (isset($_GET['opcje1'])){
  15. $result = mysql_query("SELECT id, Nazwa FROM kategor");
  16. //$count = mysql_num_rows($result);
  17. $numer= $_GET['opcje1'];
  18. $wynik = mysql_query("SELECT id, Kat FROM kategor WHERE id='$numer'") or die("Błąd w zapytaniu!");
  19. while($rek = mysql_fetch_array($wynik)) {
  20. $kat="$rek[Kat]";
  21. echo "$kat";
  22. }
  23. }
  24.  
  25. ...

W pliku html mam 8 pól select - działaj± analogicznie jak wybieram pierwsz± opcję to z pliku php poprzez ajax wyci±gana i wypisywana jest szukana dana z bazy dla wybranej opcji - "opcje", jak wybieram co¶ z drugiego selecta - wyszukiwana jest z bazy warto¶ć dla wybranej opcji - "opcje1" i tak aż do 8 pola select.

jak w pliku php zrobić co¶ takiego, że jak wybrano i wypisano wszystkie 8 znalezionych danych z bazy to ma w wykonać pewne zapytanie bazuj±ce na tych zwróconych 8 parametrach: $med, $kat itd. (tzn. jak przekazywać te wybrane zmienne do tego ostatecznego zapytania) i jak potem t± warto¶ć jak± zwróci to zapytanie wypisać w pliku html.

Wybieranie i wypisywanie danych z 8 pól działa ok. Tylko jak potem odwołać się do tych wszystkich zmiennych i jak to potem przekazać do pliku html?
ano
Odpowiedzi± jest JSON
http://pl.wikipedia.org/wiki/JSON
CuteOne
  1.  
  2. if (isset($_GET['opcje'])){
  3. $result = mysql_query("SELECT id, Nazwa FROM typy_med");
  4. //$count = mysql_num_rows($result);
  5. $numer= $_GET['opcje'];
  6. $wynik = mysql_query("SELECT id, Med FROM typy_med WHERE id='$numer'") or die("Błąd w zapytaniu!");
  7. while($rek = mysql_fetch_array($wynik)) {
  8.  
  9. $med[] = $rek['Med'];// zapis do tablicy zamiast do zmiennej
  10. }
  11. }
  12.  
  13.  
  14. if (isset($_GET['opcje1'])){
  15. $result = mysql_query("SELECT id, Nazwa FROM kategor");
  16. //$count = mysql_num_rows($result);
  17. $numer= $_GET['opcje1'];
  18. $wynik = mysql_query("SELECT id, Kat FROM kategor WHERE id='$numer'") or die("Błąd w zapytaniu!");
  19. while($rek = mysql_fetch_array($wynik)) {
  20.  
  21. $kat[] = $rek['Kat']; // zapis do tablicy zamiast do zmiennej
  22. }
  23. }
  24.  
  25.  
  26. if (isset($_GET['opcje']) && isset($_GET['opcje1'])) { //wykona się tylko gdy wpełnione będ± oba pola
  27.  
  28. if(!empty($kat) && !empty($med)) {//wykona się tylko gdy z bazy danych zostan± zwrócone wyniki
  29.  
  30. foreach($kat as $k) {
  31.  
  32. foreach($med as $m) {
  33.  
  34. if($m == 'cos' && $k == 'cos jeszcze') $query = 'id'; //nie wiem co dokładnie ma być w zapytaniu
  35.  
  36.  
  37. $wynik = mysql_query("SELECT * FROM jakas_tabela WHERE $query='111'") or die(mysql_error());
  38. }
  39. }
  40. }
  41. }


Dodatkowo zapoznaj się z JSON zwłaszcza w poł±czeniu z AJAX'em lub naucz się "echować" warto¶ci składowane w tablicy
cent4
Co¶ to nie działa:
  1. if (isset($_GET['opcje'])){
  2. $result = mysql_query("SELECT id, Nazwa FROM typy_med");
  3. //$count = mysql_num_rows($result);
  4. $numer= $_GET['opcje'];
  5. $wynik = mysql_query("SELECT id, Med FROM typy_med WHERE id='$numer'") or die("Błąd w zapytaniu!");
  6. while($rek = mysql_fetch_array($wynik)) {
  7. //$med="$rek[Med]";
  8. //echo "$med";
  9. $med[] = $rek['Med'];
  10. }
  11. }
  12.  
  13.  
  14. if (isset($_GET['opcje1'])){
  15. $result = mysql_query("SELECT id, Nazwa FROM kategor");
  16. //$count = mysql_num_rows($result);
  17. $numer= $_GET['opcje1'];
  18. $wynik = mysql_query("SELECT id, Kat FROM kategor WHERE id='$numer'") or die("Błąd w zapytaniu!");
  19. while($rek = mysql_fetch_array($wynik)) {
  20. //$kat="$rek[Kat]";
  21. //echo "$kat";
  22. $kat[] = $rek['Kat'];
  23. }
  24. }
  25.  
  26.  
  27. if (isset($_GET['opcje']) && isset($_GET['opcje1'])) { //wykona się tylko gdy wpełnione będ± oba pola
  28.  
  29. if(!empty($kat) && !empty($med)) {//wykona się tylko gdy z bazy danych zostan± zwrócone wyniki
  30.  
  31. foreach($kat as $k) {
  32.  
  33. foreach($med as $m) {
  34.  
  35. echo "$m";
  36. echo "$k";
  37.  
  38.  
  39. }
  40. }
  41. }
  42. }


Chyba rzeczywi¶cie trzeba to będzie zrobić inaczej ;(
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.