【问题标题】:Php echo button onclick get idphp echo按钮onclick获取id
【发布时间】:2018-05-12 03:05:56
【问题描述】:

我有一个动态列表,从我的 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'");

如何连接这两个代码。已经谢谢了。

【问题讨论】:

    标签: php button get echo


    【解决方案1】:

    鉴于您的问题程度,我假设您不熟悉 jQuery 和 AJAX,但您应该同时研究这两个。

    对于不使用这些的简单解决方案,您可以执行以下操作:

    将输出改为&lt;input type="button" id="'.$row['id'].'" value="Delete" onclick="do_delete(this.id)"&gt;;

    然后你需要在服务器端有一个 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>
    

    【讨论】:

      【解决方案2】:

      您可以为您的任务使用这个有效的 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。

      【讨论】:

        猜你喜欢
        • 2011-06-17
        • 2016-12-07
        • 1970-01-01
        • 2013-04-03
        • 2015-02-01
        • 2020-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多