Php эхо-кнопка onclick получить идентификатор - PullRequest
0 голосов
/ 12 мая 2018

У меня есть динамический список, загружаемый из базы данных на моей странице php. В этом списке также есть кнопка удаления. Когда я нажимаю эту кнопку, мне нужно получить идентификатор этой кнопки и удалить из базы данных эту строку с кодом php.

  $dbh = new PDO("sqlite:database.sdb");
  $sql ="SELECT  *      FROM clip";

foreach ($dbh->query($sql) as $row)
    {
    print 'Id: '. $row['id'] .'<br />';
    echo '<input type="submit" id="'.$row['id'].'" value="delete" name="del">';
    }

также это мой окончательный код для нажатия кнопки;

$dbh->exec("delete clip where id='in here should be button id'");

Как я могу соединиться с этим двумя кодами. Спасибо уже.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Учитывая уровень вашего вопроса, я предполагаю, что вы не знакомы с jQuery и AJAX, но вы должны исследовать оба.

Для простого решения, не использующего их, вы можете сделать следующее:

Измените вывод на <input type="button" id="'.$row['id'].'" value="Delete" onclick="do_delete(this.id)">;

Затем вам потребуется скрипт php на стороне сервера, чтобыобработайте функцию удаления, например, yourhandler.php

<?
    //connect to DB here

    if ($_POST['id']) {
        $sql = "delete from clip where id=:delete_id";
        $stmt = $dbh->prepare($sql);
        $stmt->execute([':delete_id'=>$_POST['id']]);
    }
?>

Затем на стороне клиента вам нужна форма, которая отправляется при нажатии кнопки.Вот пример кода формы:

<form action="yourhandler.php" method="post" id="myform">
    <!--Your PHP script which creates buttons-->
    <input type="hidden" value="" name="id" id="delete_id">
</form>
<script>
    function do_delete(which) {
        var x = document.getElementById('delete_id');
        x.value=which;
        document.getElementById('myform').submit();
    }
</script>
0 голосов
/ 12 мая 2018

Вы можете использовать этот рабочий шаблон jquery для вашей задачи. Он связывается со всеми входами, которые имеют name="del".

<script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

<script>
$(document).ready(function() {
  $('input[name="del"]').on('click', function() {
    alert('button id is '+$(this).attr('id'));
    var button_id = $(this).attr('id');
    $.ajax({
      method: 'post',
      url: "delete.php",
      data: {'did':button_id},
      dataType: "html",
      success: function(result) {
        alert(result);
      }
    });
  });
});
</script>

В вашем файле удаления PHP вы можете получить идентификатор удаления через $_POST['did'].

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