Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][MySQL][PHP]dynamiczne pobieranie $_POST z SELECT
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
ghastblood
post
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mogę liczyć na pomoc z tym bo muszę to dziś skończyć a nie opanuje tego tak szybko.
Go to the top of the page
+Quote Post
IProSoft
post
Post #4





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

Ostrzeżenie: (0%)
-----


@rocktech.pl dał Ci praktycznie gotowe rozwiązanie, zastąp swoją funkcję i w pliku data.php zobacz co masz w tablicy.
Go to the top of the page
+Quote Post
ghastblood
post
Post #5





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował ghastblood 31.05.2012, 13:58:08
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


  1. var_dump($_GET);
  2. //ewentualnie :)
  3. error_log(print_r($_GET, true));
Go to the top of the page
+Quote Post
ghastblood
post
Post #7





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


1.zamiast załadować mi stronę do div robi przeniesienie,
2.var_dump($_GET); obojętnie jaką opcje wybiorę w select zawsze = 0
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #8





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


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ś (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ghastblood
post
Post #9





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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>


Ten post edytował ghastblood 31.05.2012, 14:48:46
Go to the top of the page
+Quote Post
IProSoft
post
Post #10





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

Ostrzeżenie: (0%)
-----


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())(IMG:style_emoticons/default/wink.gif) i upewnij się, że dane są poprawnie pobrane.
Go to the top of the page
+Quote Post
ghastblood
post
Post #11





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.

Ten post edytował ghastblood 31.05.2012, 21:51:54
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:12