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