Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX]Tylko dla danego id w petli
Forum PHP.pl > Forum > Przedszkole
denis95x
Witam, pisałem już wcześniej odnośnie pobierania danych z formularza przez ajax i zapisać do bazy.

Poradziłem sobie już - PRAWIE.

Nie wiem, jak i w ktorym miejscu. Co zrobić żeby pobierało mi dane tylko z danego <tr> w pętli </tr> bo obecnie aktualizuje mi ostatni pobrany w pętli rekord
Myślałem to rozwiązać coś z
Kod
$(this).closest('tr')


tylko w którym miejscu:

kod :
  1. while($docs_ed=mysql_fetch_array($res_doc)){
  2.  
  3. $result_art = mysql_query("SELECT * FROM products WHERE id='$docs_ed[id_art]'");
  4. $dane_art=mysql_fetch_array($result_art);
  5. ?>
  6. <script type="text/javascript">
  7. function test(value,id){
  8. var rozmiar = (id);
  9. var ile = (value);
  10. var docs = "<? echo $dane_doc[doc]; ?>";
  11. var iddocs = "<? echo $_GET[edit]; ?>";
  12. var idartykulu = "<? echo $dane_art[id]; ?>";
  13.  
  14. $.ajax({
  15. url: "docajax3.php",
  16. type: "POST",
  17. data: 'updateile=' + ile + '&rozm=' + rozmiar + '&nrdok=' + docs + '&idok=' + iddocs + '&idart=' + idartykulu,
  18. success: function(msg) {
  19. $("#kontener3").html(msg);
  20. }
  21. });
  22. }
  23. </script>
  24. <?
  25. <tr>
  26. <td align="center">'.$docs_ed[symbol_art].' </td>
  27. <td align="left"><b style="font-size:12px;">'.$dane_art[nazwa].'</b> <br>
  28.  
  29. 35 <input class="sf_small_1" name="r35" id="r35" onchange="test(this.value,this.id);" value="<? echo $docs_ed[r35]; ?>" type="text"/>
  30. 36 <input class="sf_small_1" name="r36" id="r36" onchange="test(this.value,this.id);" value="<? echo $docs_ed[r36]; ?>" type="text"/>
  31.  
  32. </tr> ';
  33.  
  34.  
  35. }


Z góry dzięki za pomoc !
b4rt3kk
Błędna deklaracja funkcji, jakbyś zerknął w źródło to byś zauważył, że funkcja test jest definiowana x razy (w zależności od liczby obrotów pętli). JS uważa za aktualną tylko ostatnią deklarację.

Nie radzę mieszać kodu PHP z JS, tylko przekazywać lub pobierać potrzebne dane w bardziej elegancki sposób.
denis95x
niestety w ajaxie jestem kompletnie zielony :/

jakieś nakierunkowanie w tej sytuacji ?
b4rt3kk
Przykład poprawnego przekazania danych:

  1.  
  2. 35 <input class="sf_small_1" name="r35" id="r35" onchange="test(this.value,this.id);" value="<? echo $docs_ed[r35]; ?>" type="text" data-docs="<?php echo $dane['doc']; ?>"/>


Przykład poprawnego pobrania danych:

  1. function test(element, ...) {
  2. var docs = element.attr('data-docs');
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.