每个字段都有一个删除按钮


A delete button for each field

我有一个数据库中的项目表,每个项目都需要一个删除按钮。

目前它正在工作,但按钮显示身份证号码,我希望它只说"删除"。

我仍然希望根据这个笑话删除它。ID

$result = mysqli_query($con, "SELECT joke.id, joketext, jokedate, name, email FROM joke INNER JOIN author ON authorid = author.id");
echo "<form action='delete1.php' method='post'>
<table border='1'>
   <tr>
      <th>Joke</th>
      <th>Date</th>
      <th>Name</th>
      <th>Email</th>
      <th>Delete</th>
   </tr>";
   while( $row = mysqli_fetch_array( $result ) ) {
      echo "<tr>";
      echo "<td>" . $row['joketext'] . "</td>";
      echo "<td>" . $row['jokedate'] . "</td>";
      echo "<td>" . $row['name'] . "</td>";
      echo "<td>" . $row['email'] . "</td>";
      echo "<td><input type='submit' name='deleteItem' value='".$row['id']."' /></td>";
      echo "</tr>";
   }
   echo "</table>";
   echo "</form></br>";
   mysqli_close($con);
?>

这是delete1.php

    if ( isset( $_POST['deleteItem'] ) and is_numeric( $_POST['deleteItem'] ) ) {
        // here comes your delete query: use $_POST['deleteItem'] as your id
        mysqli_query($con,"DELETE FROM joke WHERE id='$_POST[deleteItem]'");
    }
    mysqli_close( $con );
    header('Location: joke1.php');
    exit();
?>

我只想让按钮说"删除"

换一种方式。制作一个隐藏的输入元素,如下所示:

echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>";

并将现有的更改为

echo "<td><input type='submit' value='Delete' /></td>";

就是这样。

第1版:你必须为每个笑话保持不同的形式。

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['joketext'] . "</td>";
    echo "<td>" . $row['jokedate'] . "</td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['email'] . "</td>";
    echo "<td>";
    echo "<form action='delete1.php' method='post'>
    echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>";
    echo "<input type='submit' value='Delete' />";
    echo "</form>";
    echo "</td>";
    echo "</tr>";
}

使用一种简单的方法

echo "<td><input type='button' value='Delete' onclick='javascript:location.href=''delete1.php?id=" .$row['id']. "''' /></td>";

delete1.php

if(isset($_GET['id']) and is_numeric($_GET['id']))