【问题标题】:Remove specific entry from database with PHP by via id通过 id 使用 PHP 从数据库中删除特定条目
【发布时间】:2013-11-05 11:21:48
【问题描述】:

我有一个users.php 文件,用于存储所有函数。我想创建一个删除按钮来删除某个经理下的任何列出的员工。 这是我对成员函数的看法:

public function view_team($username) {
    $query = $this->db->prepare("SELECT * FROM `users` WHERE `manager`= ? ORDER BY `lastname` ASC ");
    $query->bindValue(1, $username);
    $i = 0;

    try{
            $query->execute();
            foreach ($query as $row) {
                $removable=$row['id'];
                print $i+1 .') '.$row['lastname'].' '.$row['firstname'].', Department: '. $row['department'] .', Band: '.$row['band'].' | '; ?> 
                Promote  <img src="img/promote.png" alt="Promote employee"> | <!-- promote user -->
                Edit  <img src="img/edit.png" alt="Edit employee"> | <!-- edit user -->
                <a href ="#" onclick="$users->remove($removable)">
                Remove <img src="img/remove.png" alt="Remove employee"></a> <!-- remove user -->
                <?php print '<br>';
                $i++;
            }

    $this->queryResult = $query->fetch();

    } catch(PDOException $e){
        die($e->getMessage());
    }
}   

这里是删除函数:

public function remove($username) {
    $query=$this->db->prepare("DELETE from `users` WHERE `id`=?"); 
    $query->bindValue(1,$removable);
    try{
        $query->execute();
        } catch (PDOException $e){
        die($e->getMessage());
        }
}

这就是我查看用户的方式:

<?php
$usr = $firstname ." ". $lastname;
$users->view_team($usr);

?>

我想我需要创建一个 onclick() 函数才能仅在按下“删除”按钮时工作。

【问题讨论】:

    标签: php mysql database


    【解决方案1】:

    您的删除代码会自动启动,而不是手动启动:

    <?php 
                            $removable = $row['id'];
                            $query=$this->db->prepare("DELETE from `users` WHERE `id`=?"); 
                            $query->bindValue(1,$removable);
                            try{
                                $query->execute();
                            } catch (PDOException $e){
                                die($e->getMessage());
                            }
                        ?>
    

    修改后:

    请尝试;

    <a href ="#" onclick="$users->remove($removable)" ?> 
    "> Remove <img src="img/remove.png" alt="Remove employee"></a>
    

    而不是;

    <a href =" 
       <?php $removable=$row['id']; $users->remove($removable); ?> 
    ">Remove <img src="img/remove.png" alt="Remove employee"></a>
    

    【讨论】:

    • 是的,我注意到了。我的实际问题是如何仅在按下按钮时触发它。
    • 第一;如果你想在点击图片时停留在这个页面,你应该使用 javascript。 1- 创建您的新 php 页面(例如 delete.php)并在此页面中编写您的删除操作。 2- 在此页面中创建您的 javascript 函数,该函数具有 view_team()... 例如 delete()... 此函数必须具有 POST 类型,以便将您的数据发送到 delete.php 3- 用于运行 javascript 函数(delete() )你必须在你的对象(图像或按钮)中写onclick="delete()"。 .....它可以帮助你:stackoverflow.com/questions/16313518/…
    • 我修改了函数并创建了一个不同的删除函数。我会更新整个事情。
    • 我似乎没有找到让它工作的方法。我不得不稍微修改你的条目。请检查我的更新。
    • 好的。请先尝试&lt;input id="Submit" name="Submit" type="button" value="Remove" onclick="remove($removable)"&gt;,而不是您的图像。如果可行,请修改您的图像的onclick。如果它不起作用,我不能再帮你了。因为我的知识已经不够用了。
    猜你喜欢
    • 2013-08-05
    • 2014-09-18
    • 2017-11-27
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    相关资源
    最近更新 更多