Php echo按钮onclick获取id

时间:2018-05-12 03:05:56

标签: php button get echo

我有一个动态列表,从我的php页面中的数据库加载。这个列表也有一个删除按钮。当我单击此按钮时,我需要获取此按钮的ID并从数据库中删除该行与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 :(得分:0)

您可以将此工作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']检索删除ID。

答案 1 :(得分:0)

鉴于您的问题的级别,我假设您不熟悉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>