Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP]dynamiczne pobieranie $_POST z SELECT
Forum PHP.pl > Forum > Przedszkole
ghastblood
chciał bym pobrać $_POST z pola SELECT wiem ze muszę zastosować OnChange dla pola OPTION

  1. echo '<option onchange="zawodnik()" value='.$r['id_zawodnika'].'>'.$r['id_zawodnika'].'.'.$r['nazwisko_zawodnika'].' '.$r['imie_zawodnika'].'</option>';


i obok mam hiperłącze które ładuje do diva zawartość data.php przez OnClick

  1. <a href="data.php" id="main">Załaduj</a>


a tak wygląda obecna funkcja do ładowania data.php

  1. <script type="text/javascript">
  2.  
  3. $(document).ready(function(){
  4.  
  5. $('#main').click(function() {
  6. $('#content').load('data.php');
  7. return false;
  8. });
  9.  
  10. });
  11.  
  12.  
  13. </script>


i nie wiem jak przekazać wybraną opcje z pola SELECT do zapytania w data.php
rocktech.pl
Witam.

Zainteresuj się metodą serialize().

Przykładowo:

[JAVASCRIPT] pobierz, plaintext
  1. $('#main').click(function() {
  2.  
  3. $('#content').load('data.php'+$("form").serialize());
  4.  
  5. return false;
  6.  
  7. });
[JAVASCRIPT] pobierz, plaintext
ghastblood
Mogę liczyć na pomoc z tym bo muszę to dziś skończyć a nie opanuje tego tak szybko.
IProSoft
@rocktech.pl dał Ci praktycznie gotowe rozwiązanie, zastąp swoją funkcję i w pliku data.php zobacz co masz w tablicy.
ghastblood
jak dodałem ten kod to nie działa mi funkcja nawet nie ładuje zawartości pliku data.php

wiem że zawartość tablicy można sprawdzić przez print_r(); a pod pod jakim hasłem chowa się tablica ?
rocktech.pl
  1. var_dump($_GET);
  2. //ewentualnie :)
  3. error_log(print_r($_GET, true));
ghastblood
1.zamiast załadować mi stronę do div robi przeniesienie,
2.var_dump($_GET); obojętnie jaką opcje wybiorę w select zawsze = 0
rocktech.pl
1. Zgadza się i jest na to rada.
[JAVASCRIPT] pobierz, plaintext
  1. $('#main').click(function(event) {
  2. event.preventDefault();
  3. $('#content').load('data.php'+$("form").serialize());
  4. });
[JAVASCRIPT] pobierz, plaintext


2. Wykonaj takie żądanie data.php?get=to_jest_zmienna_przekazana_metoda_GET.

Pokaż kod data.php i obecny javascript zobaczymy gdzie jesteś smile.gif
ghastblood
plik1.php
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('#main').click(function(event) {
  4. event.preventDefault();
  5. $('#content').load('data.php'+$("form").serialize());
  6. });
  7. });
  8. ...
  9. echo '<option value='.$r['id_zawodnika'].'>'.$r['id_zawodnika'].'.'.$r['nazwisko_zawodnika'].' '.$r['imie_zawodnika'].'</option>';
  10. ...
  11.  
  12. echo '<td><a href="data.php" id="main">Załaduj</a></td>';
  13. ...
  14. echo '<td colspan="6"><div id="content"></div>';
  15. ...


data.php
  1. <?php
  2.  
  3. require_once "core.php";
  4. echo '<td class="tbl1" colspan="2">';
  5.  
  6. $wynik = mysql_query("SELECT id, imie_zawodnika, nazwisko_zawodnika, nazwa_konkurencji, godzina, stanowisko, pawilon FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id LEFT JOIN konkurencje ON id_konkurencji = id_konk WHERE id = TU POWINNA BYC ZMIENNA Z plik1.php") or die(mysql_error());
  7. echo '<table align="center">';
  8. echo '<tr><td>';
  9. echo 'L.P';
  10. echo '</td><td>';
  11. echo 'Konkurencja';
  12. echo '</td><td>';
  13. echo 'Pawilon';
  14. echo '</td><td>';
  15. echo 'Stanowisko';
  16. echo '</td><td>';
  17. echo 'Godz.';
  18. echo '</td></tr>';
  19.  
  20. $i=1;
  21. while($r = mysql_fetch_assoc($wynik))
  22. {
  23. echo '<tr><td>';
  24. echo $i++;
  25. echo '</td><td>';
  26. echo $r['nazwa_konkurencji'];
  27. echo '</td><td>';
  28. echo '<input type="text" class="textbox" value="'.$r['pawilon'].'">';
  29. echo '</td><td>';
  30. echo '<input type="text" class="textbox" value="'.$r['stanowisko'].'">';
  31. echo '</td><td>';
  32. echo '<input type="text" class="textbox" value="'.$r['godzina'].'">';
  33. echo '</td><td></tr>';
  34.  
  35. }
  36. echo '<tr>';
  37. echo '<td colspan="6"><center><input class="button" type="submit" value="Dodaj"></center><td>';
  38. echo '</tr>';
  39. var_dump($_GET);
  40. ?>


Proszę o pomoc muszę to dziś skończyć a stanąłem w miejscu i nie mogę się ruszyć.

Cały czas się męczę z tym stworzyłem sobie plik testowy i teraz wywala mi

  1. Array ( [0] => = [1] => u [2] => n [3] => d [4] => e [5] => f [6] => i [7] => n [8] => e [9] => d )


a to kod

  1. <html>
  2. <head>
  3. <title>Przykład 1-2</title>
  4. <script type="text/javascript" src="jquery.js"></script>
  5.  
  6.  
  7. <script type="text/javascript">
  8. $(document).ready(function(){
  9.  
  10.  
  11.  
  12. $('#klik').click(function(event) {
  13. event.preventDefault();
  14. $('#test').load('test.php',$("#form").serialize());
  15. return false;
  16. });
  17. });
  18. </script>
  19. </head>
  20. <body>
  21. <form id="form" method="get">
  22. <input type="text" name="imie">
  23. <select name="lista1" >
  24. <option onchange="zaladuj()">Siema</option>
  25. <option onchange="zaladuj()">Nara</option>
  26. </select>
  27. </form>
  28.  
  29. <a href="test.php" id="klik">przeladuj</a>
  30. <hr>
  31. <div id="test"></div>
  32. </body>
  33. </html>
IProSoft
Skopiowałem Twój ostatni kod 'Przykład 1-2' + data.php i var_dump ślicznie zwraca:
Kod
array
  'imie' => string '' (length=0)
  'lista1' => string 'Nara' (length=4)


Więc błąd musisz mieć w innym miejscu, sprawdzaj przez Firebug, dodaj alert(alert($("#form").serialize())wink.gif i upewnij się, że dane są poprawnie pobrane.
ghastblood
ok dodałem nową bibliotekę jquery i pierwszy alert pokazuje imie=aaa&lista1=Siema potem jest drugi undefined a firebug zwraca mi Warnings

anonymous function does not always return a value

i wiele innych.

a test.php z var_dump

  1. array(0) { }


Dzięki wielkie nie wiem jak to zrobiłem ale działa.
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.