Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP][MySQL] Pobranie wartosci z pola obok buttona
Forum PHP.pl > Forum > Przedszkole
denis95x
Witam,
mam problem z zapisem do bazy danego rekordu z odpowiednim id.

Zapisuje mi tylko ostatni wyświetlony rekord na liście

Nawet gdy kliknę żeby zapisało mi z id 200 to i tak wyświetla:

id=267 | doc=PW_2015_02_24

przez co wiadomo, że zapisuje 267 (w tym wypadku jest to ostatni rekord z tabeli)


kod wygląda tak:

JS:
Kod
jQuery(document).ready(function() {
        $('input[type=button]').click(function() {
            var tekst = $('input[name=artid]').val();
            var tekst2 = $('input[name=baza]').val();
            var tekst3 = $('input[name=symbol]').val();

            $.ajax({
                url: "docajax.php",
                type: "POST",
                data: 'indeks=' + tekst + '&indeks2=' + tekst2 + '&indeks3=' + tekst3,
                success: function(msg) {
                    $("#kontener").text(msg);
                }
            });
        });
    });


WYŚWIETLANIE LISTY:
  1. $result_ar = mysql_query("SELECT * FROM products ORDER BY id DESC");
  2. while($dane_ar=mysql_fetch_array($result_ar)){
  3.  
  4.  
  5. <tr>
  6. <td align="left">'.$dane_ar[id].' </td>
  7. <td align="center">'.$dane_ar[symbol].'</td>
  8. <td align="left">'.$dane_ar[nazwa].' </td>
  9. <td align="center">'.$dane_ar[cena].'</td>
  10.  
  11. <td align="center">
  12. <input type="hidden" name="artid" value="'.$dane_ar[id].'" />
  13. <input type="hidden" name="baza" value="'.$dane_doc[doc].'" />
  14. <input type="hidden" name="symbol" value="'.$dane_ar[symbol].'" />
  15.  
  16. <input type="button" id="'.$dane_ar[id].'" name="'.$dane_ar[id].'" value="+" />
  17. <div id="kontener"></div></td>
  18.  
  19. </tr>
  20.  
  21. ';
  22.  
  23. }


PLIK docajax.php
  1. require_once ('../pages/db2014.php'); // Połącz się z bazą danych.
  2.  
  3.  
  4. if($_POST['indeks'] != '') {
  5.  
  6. $id = $_POST['indeks'];
  7. $dokument = $_POST['indeks2'];
  8. $symbol = $_POST['indeks3'];
  9.  
  10. $dodaj = mysql_query("INSERT INTO $dokument SET id_art='$id', symbol_art='$symbol'");
  11.  
  12.  
  13. echo'id='.$id.' | doc='.$dokument.'';
  14. }


Gdzie jest błąd ?
Wydaje mi się, że w tej linijce
Kod
$('input[type=button]').click(function() {

ale jak to rozwiązać ?
nospor
NIE KRZYCZ. NIe ma takiej potrzeby. Popraw tytuł na normalny.

var tekst = $('input[name=artid]').val();
Tutaj pobierasz pierwszy z brzegu art, to sie niedziw, ze tylko on sie zapisuje. Masz pobierac art, ktory lezy obok wcisnietego guzika
denis95x
A naprowadzisz w jaki sposob ?
b4rt3kk
Cytat(denis95x @ 24.02.2015, 14:12:58 ) *
A naprowadzisz w jaki sposob ?


  1. var tekst = $(this).closest('tr').find('input[name=artid]').val();


I analogicznie do reszty pól.
denis95x
Dzięki serdeczne,
a naprowadzisz jak rozwiązać aby po wciśnieciu button został zablokowany ?
b4rt3kk
Cytat(denis95x @ 24.02.2015, 14:32:55 ) *
Dzięki serdeczne,
a naprowadzisz jak rozwiązać aby po wciśnieciu button został zablokowany ?


  1. $(this).attr('disabled', true);


lub

  1. $(this).attr('disabled', 'disabled');
denis95x
Dzięki jeszcze raz smile.gif !

Temat do zamknięcia smile.gif
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.