Доступ к динамически именуемым кнопкам отправки с PHP isset - PullRequest
0 голосов
/ 12 декабря 2018

Я извлекаю данные из базы данных и создаю кнопку для каждого идентификатора.

echo "<td><input type='submit' id='".$row["id"]."' value='delete' name='delete'></td>";

Теперь я хочу удалить данные из базы данных, привязанные к идентификатору кнопки удаления, которую пользователь нажал с помощью PHP.

Как я могу это сделать?Если какой-либо другой метод, пожалуйста, предложите.enter image description here

Ответы [ 3 ]

0 голосов
/ 12 декабря 2018

Я бы посоветовал вам использовать ajax для отправки данных на страницу удаления,

<?php

    echo "<td><button type=\"button\" id=\"delete_".$row["id"]."\" name='delete'>Delete</button></td>";


?>

Измените тип отправки на кнопку кнопки, затем используйте событие click и получите значение id, затем отправьте в phpиспользуя ajax.

<script type="text/javascript">

    $('[id^="delete_"]').on('click', '', function() {

        var id = $(this).attr('id').split("_")[1]; // value of clicked button
        $.ajax({

                type : "POST",
                url  : "delete.php",
                data : {id:id},
                dataType : "json",
                encode   : true,
                success : function(data){

                    if(data == "ok"){

                        alert("data deleted success");
                    }else{

                        console.log(data); //return error debugging puporse only
                    }
                }
        });
    });
</script>

Примечание: не забудьте включить Jquery.

Затем

delete.php

<?php


    $id = isset($_POST['id']) ? $_POST['id'] : null;


    //delete query where id = $id you should have this already.


    if($success){ //if query success

        echo json_encode("ok"); // send back response
    }else{

        //handle error
    }
0 голосов
/ 12 декабря 2018
<script>
    $("input[name='delete']").on('click',function (e) {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            URL:'yourpage.php',
            data:{"id":$(this).id},
            dataType:'JSON',
            success:function(data){
                if (data == 1) {
                    $(this).remove();
                }
                else{
                    console.log(data);
                }
            }
        })
    });
</script>

    //PHP

    if (isset($_POST['id'])) {

    // i assume that you have already connected to db and $conn is DB var

    $sql = "DELETE FROM yourtable WHERE id=".$_POST['id'];

    if ($conn -> query($sql) === TRUE) {
    echo 1;
    } else {
    echo "Error deleting record: ".$conn -> error;
    }

    }
0 голосов
/ 12 декабря 2018

вы можете использовать скрытое поле ввода, чтобы вставить идентификатор.Если у вас есть идентификатор, его легко удалить из базы данных.

<?php
echo "<td><form style='display:inline;'><input type='hidden' value='".$row["id"]." id='id'>
<input type='submit' id='submit' value='delete' name='delete'></td>";
if ($isset($_post["submit"])) {
    $deleteID=$_POST['id'];
    //here your order to delete from database $deleteID is your id
}

?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...