Hej,
Mam pewien problem z przechwytywaniem danych z formularza. Pobieram z bazy danych informacje i wyświetlam w polach. Każdy z formularzy (każdy obrót pętli) ma oddzielny button do edycji danych. Mój problem jest taki, że gdy wciskam któryś z buttonów, zawsze edytowany jest tylko ten pierwszy formularz. Kod JS zwraca za każdym razem id=1, bez względu na to jaki button nacisnę.
Niżej dorzucam kod. Jak sobie z tym poradzić? Z góry dzięki!
Kod:
<?php
try {
$stmt = $pdo->prepare("SELECT * FROM prace");
$stmt->execute(array());
$count = $stmt->rowCount();
$i=0;
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$i++;
$img = $row['img'];
$tytul = $row['title'];
$opi = $row['opis'];
echo '<textarea class="form-control" name="id" rows="1" id="id" class="indeks">'.$i.'</textarea>
<div class="form-group">
<label for="img">Link do obrazka:</label>
<textarea class="form-control" name="link" rows="1" id="link">'.$img.'</textarea>
</div>
<div class="form-group">
<label for="title">Tytuł:</label>
<textarea class="form-control" name="title" rows="1" id="title">'.$tytul.'</textarea>
</div>
<div class="form-group">
<label for="opis">Opis:</label>
<textarea class="form-control" name="opis" rows="1" id="opis">'.$opi.'</textarea>
</div>
<div class="form-group">
<button type="submit" id="poprawa-'.$i.'" name="poprawa" class="btn btn-primary poprawa"> Popraw</button>
</div>';
}
} catch (\Exception $e) {
echo "Wystąpił nieoczekiwany błąd!";
}
?>
$(".poprawa").click(function(){
var link = $("#link").val().trim();
var title = $("#title").val().trim();
var opis = $("#opis").val().trim();
var id = $("#id").val().trim();
alert(id);
$.ajax({
url: 'update_prace.php',
type: 'POST',
data: {link:link, title:title, opis:opis, id:id},
success: function(response){
if(response == 0){
alert("error");
}
else{
alert("Poprawione!");
location.reload();
}
}
});
});