使用 php 删除 html 表中的记录


Deleteing a record that is in an html table using php

我在解决这个问题时遇到了一点问题。我所做的是我使用 while 循环创建了一个表格,该表格将所有课程显示到 html 表格中:

<?php
include_once "Includes/config.php";
function manCourse(){
    $SQL = "SELECT cname FROM course";
    $result = mysql_query($SQL);
    if (!mysql_num_rows($result))
    {
        echo "There are no courses.";
    }
    else 
    {
        while ($row = mysql_fetch_assoc($result))
        {                   
            echo "<tr><td> Course name: <b> " .$row['cname']."</b></td> <td><a href = ''>Edit</a></td> <td><a href = ''>Delete</a></td> </tr>";
        }

    }
}
?>

我的问题是当有人单击删除或编辑链接时,它只需要这样做。我可以将什么用作键,以便它知道需要编辑或删除哪一行?

任何帮助将不胜感激!谢谢。

<?php
 include_once "Includes/config.php";
  function manCourse(){
   $SQL = "SELECT id,cname FROM course";
    $result = mysql_query($SQL);
   if (!mysql_num_rows($result))
    {
     echo "There are no courses.";
   }
  else 
  {
     while ($row = mysql_fetch_assoc($result))
    {                   
         echo "<tr><td> Course name: <b> " .$row['cname']."</b></td> <td><a href = ''>Edit</a></td> <td><a href = 'delete.php?id=".$row['id']."'>Delete</a></td> </tr>";
     }

  }
}
 ?>

删除.php 是您的新文件,您将在其中添加用于删除记录的代码。 $row['id']是记录的主要内容,始终是唯一的。

它非常好的数据库设计,始终为每一行包含一个唯一的主键。这将解决您的问题,并允许其他好处,例如加入其他表。然后,此键应包含在表中,但对用户不可见。

create table course 
(
   course_id int not null primary key auto_increment,
   . . .
)

当他们单击删除时,从 UI 传回该密钥,并使用此 SQL 将其从数据库中删除:

delete from course where course_id = $course_id

您必须创建一个名为 Delete 的页面.php

删除.php必须具有此代码。

并且您必须通过 tha 删除链接传递变量,

如下所示

而 ($row = mysql_fetch_assoc($result)){
echo "课程名称:" .$row["cname"]。编辑 删除 "; }