首页 > 解决方案 > 使用 php 生成用于删除或编辑 db 表中的行的按钮

问题描述

我需要调用数据库和一个特定的表,然后在行中显示表值,并在它们的末尾有按钮“编辑”和“删除”,允许我编辑该行或完全删除它。目前我只设法显示表格并生成按钮,但没有将按钮“绑定”到该行。我需要在显示表格时生成按钮,然后将按钮“绑定”到相应的行。

编辑:

if(!empty($_POST) && isset($_POST['show'])) {
    $sel = "SELECT id, vardas, pavarde, amzius, miestas FROM zmogaus_info";
    $res = mysqli_query($conn, $sel);
    if(mysqli_num_rows($res)>0){
        while($row = mysqli_fetch_assoc($res)){
            echo "Id: ".$row["id"]." ".$row["vardas"]." ".$row["pavarde"]." ".$row["amzius"]."m."."<input type='submit' name='".$row['id']."' value='Delete'>"."<br>";
        }
    }
}
if(!empty($_POST) && isset($_POST[$row['id']])){
    $sql = "DELETE FROM zmogaus_info WHERE id=".$row['id'];
    mysqli_query($conn, $sql);
}

我认为问题可能出在我使用 $row['id'] 的方式上,我可能需要将它变成一个全局变量?

标签: phpmysqlmysqli

解决方案


如果您能够 var_dump($result) 并且那里有来自 DB 的数据,那么就不需要 while 循环。

还要研究 PDO,这是一种更安全的进出数据库的数据传输方法。

$sel = "SELECT id, vardas, pavarde, amzius, miestas FROM zmogaus_info";
$result = $mysqli -> query($sel);

// Define the associative array as $row
$row = $result -> fetch_assoc();

echo "Id: ".$row["id"]." ".$row["vardas"]." ".$row["pavarde"]." ".$row["amzius"]."m."."<input type='submit' name='".$row['id']."' value='Delete'>"."<br>";

推荐阅读