0

我在解决这个问题时遇到了一点问题。我所做的是我使用 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>";
        }


    }

}
?>

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

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

4

3 回答 3

0
<?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>";
     }


  }

}
 ?>

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

于 2013-11-02T12:07:26.153 回答
0

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

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

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

delete from course where course_id = $course_id
于 2013-11-02T12:03:13.457 回答
0

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

delete.php 必须有这个代码。

并且您必须通过删除链接传递变量,就像这样

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

于 2013-11-02T12:12:42.547 回答