ajax Crud редактировать и удалять работает только в первом ряду - PullRequest
0 голосов
/ 20 апреля 2020

Я начинающий с AJAX в сочетании с php. У меня есть груда, и он только редактирует и удаляет первый ряд. Я думаю, что мне нужно добавить где-нибудь еще один идентификатор, но я не знаю, где.

Вот мой HTML

    $sql = "SELECT * FROM crud_gegevens";
    $result = $conn->query($sql);
    while ($row=mysqli_fetch_assoc($result)) {       
         echo '<tr><td><input type="text" id="mod" value="'.$row['naam'].'"></td>';         
         echo '<td><input type="text" id="ctgr" value="'.$row['adres'].'"></td>';
         echo '<td><input type="hidden" id="gegevens_id" value="'.$row['gegevens_id'].'"></td>';
         echo '<td><button type="submit" id="update">update</button></td>';
         echo '<td><button type="submit" id="delete">delete</button></td></tr>';
    }

мой js / ajax это

$(document).ready(function(){
    $("#delete").click(function(){
        var id=$("#gegevens_id").val();
        $.ajax({
            url:'delete.php',
            method:'POST',
            data:{
                id:id
            },
            success:function(response){
                alert(response);
            }
        });
    });
});

И моя функция в php такова:

$id = $_POST["id"];
$sql="DELETE FROM crud_gegevens where gegevens_id='$id'";
if($conn->query($sql)===TRUE){
    echo "DATA deleted";
}

1 Ответ

0 голосов
/ 20 апреля 2020

используйте data-id для получения индивидуального идентификатора для каждой строки в ajax и используйте id = "deleteBtn" для события щелчка в jquery

while ($row=mysqli_fetch_assoc($result)) {       
     echo '<tr><td><input type="text" id="mod" value="'.$row['naam'].'"></td>';         
     echo '<td><input type="text" id="ctgr" value="'.$row['adres'].'"></td>';
     echo '<td><button type="submit" id="update">update</button></td>';
     echo '<td><button type="submit" id="deleteBtn" data-id="'. $row['gegevens_id'] . '">delete</button></td></tr>';
}

дополнительное скрытое поле ввода не требуется.

js script

$(document).on('click', '#deleteBtn', function(){
var id = $(this).data('gegevens_id');
$.ajax({
    url:'delete.php',
    method:'POST',
    data:{
        id:id
    },
    success:function(response){
        alert(response);
    }
   });
});
...